2017-07-27 152 views
2

在同一个目录中,我有两个Dockerfiles,我想为它们中的每一个添加一个单独的.dockerignore多个.dockerignore文件在同一目录

目前,我有:

Dockerfile.npm 
Dockerfile.nginx 

但我可以有这样的事情?:

.dockerignore.npm 
.dockerignore.nginx 

回答

4

我不认为你可以同时做一个构建指定不同的忽略文件。但因为你正在创建一个单独的文件,你可以写一个shell脚本

build_nginx.sh

#!/bin/bash 
ln -fs .dockerignore.nginx .dockerignore 
docker build -f Dockerfile.nginx -t nginxbuild . 

build_npm.sh

#!/bin/bash 
ln -fs .dockerignore.npm .dockerignore 
docker build -f Dockerfile.npm -t npmbuild . 

如果你需要使用它docker-compose然后你需要为ngixn和npm分开文件夹,然后可以有他们各自的.dockerignore文件。在你的docker-compose.yml文件中,你需要指定目录名称作为上下文

+0

这看起来像一个不错的解决方案,但我想稍后在'docker-compose'文件中使用它们。有没有办法在撰写文件中使用它? – Luminance

+0

更新答案 –

+0

您使用docker-compose提出的解决方案会导致Dockerfile出现问题。 Dockerfile将不具有父目录的上下文,所以你希望能够例如“复制”东西 –

相关问题