使用不同的dockerfiles从源目录构builddocker镜像
我的目标是从相同的源代码构build几个不同的docker图像。
我有我的./src文件夹(node.js项目)。 里面./src我有first.dockerfile和第二个dockerfile。
用于构build我使用这个标准命令行的项目
sudo docker build -t doronaviugy/myproject .
这在使用默认的Dockerfile时没有问题
我正在尝试使用该行从特定的dockerfile构build它
sudo docker build -t doronaviguy/myproject - < first.docker
这一行工作,但现在path不被复制在图像内
#Inside the Dockerfile ADD . /src
我想我明白如何指定一个dockerfile参数,但是我需要指定一个direcotry参数在docker镜像里复制。
非常感谢。
从Docker 1.5开始,你可以使用-f
参数来selectDockerfile来使用例如:
docker build -t doronaviugy/myproject -f dockerfiles/first.docker .
如果使用stdin构build图像( - < first.docker
语法),则不会有构build上下文,因此您将无法使用引用本地文件的COPY
或ADD
指令。
如果您必须使用旧版本的Docker,则在调用Dockerfile
build之前,需要使用一些脚本将特定的Dockerfile复制到构build上下文的根目录中的Dockerfile
。