使用不同的dockerfiles从源目录构建docker镜像

时间:2015-04-02 09:20:12

标签: docker dockerfile

我的目标是使用相同的源代码构建几个不同的docker镜像。

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

用于构建项目我使用此标准命令行

sudo docker build -t doronaviugy/myproject .

使用默认的 Dockerfile

时没问题

我尝试使用行

从特定的dockerfile构建它
sudo docker build -t doronaviguy/myproject  - <   first.docker

这条线有效,但现在路径没有复制到图像中

#Inside the Dockerfile
ADD . /src

我想我理解如何指定dockerfile参数,但是我需要指定一个可以在docker镜像中复制的direcotry参数。

非常感谢。

1 个答案:

答案 0 :(得分:17)

自Docker 1.5起,您可以使用-f参数选择要使用的Dockerfile,例如:

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

如果您使用stdin构建图片(- < first.docker语法),则您将无法获得构建上下文,因此您将无法使用COPYADD指令引用本地文件。

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