2015-04-02 52 views
4

我的目标是从相同的源代码构建几个不同的码头图像。使用不同的码头文件从源目录中构建码头图像

我有我的./src文件夹(node.js项目)。 里面./src我有first.dockerfile和第二个dockerfile。

为建设我用这个标准的命令行项目

sudo docker build -t doronaviugy/myproject . 

这适用于使用默认Dockerfile

没有问题,我想从一个特定的构建它dockerfile使用line

sudo docker build -t doronaviguy/myproject - < first.docker 

此行可行,但现在路径不会被复制到图像中

#Inside the Dockerfile 
ADD . /src 

我想我明白如何指定一个dockerfile参数,但我需要指定一个direcotry参数在docker镜像内复制。

非常感谢。

回答

8

由于码头工人1.5,你可以使用-f参数选择Dockerfile使用如:

docker build -t doronaviugy/myproject -f dockerfiles/first.docker .

如果使用标准输入来建立你的图像(- < first.docker语法),你不会有构建上下文,因此您将无法使用引用本地文件的COPYADD指令。

如果您必须使用较旧版本的Docker,则在调用docker build之前,需要使用一些脚本将特定的Docker文件复制到构建上下文的根目录中的Dockerfile

+0

谢谢,我没有尝试使用-f参数,但没有成功,然后我注意到我不得不将我的docker版本升级到1.5。 – 2015-04-02 09:43:17

相关问题