我的目标是使用相同的源代码构建几个不同的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参数。
非常感谢。
答案 0 :(得分:17)
自Docker 1.5起,您可以使用-f
参数选择要使用的Dockerfile,例如:
docker build -t doronaviugy/myproject -f dockerfiles/first.docker .
如果您使用stdin构建图片(- < first.docker
语法),则您将无法获得构建上下文,因此您将无法使用COPY
或ADD
指令引用本地文件。
如果您必须使用较旧版本的Docker,则在调用Dockerfile
之前,您需要使用一些脚本将特定Dockerfiles复制到构建上下文根目录的docker build
。