在同一个目录中我有两个Dockerfiles,我想.dockerignore为每个目录添加一个单独的目录.
目前,我有:
Dockerfile.npm
Dockerfile.nginx
Run Code Online (Sandbox Code Playgroud)
但我能有这样的事吗?:
.dockerignore.npm
.dockerignore.nginx
Run Code Online (Sandbox Code Playgroud)
Tar*_*ani 12
在进行构建时,我认为您不能指定不同的忽略文件.但是,由于您要创建单独的文件,因此可以编写shell脚本
build_nginx.sh
#!/bin/bash
ln -fs .dockerignore.nginx .dockerignore
docker build -f Dockerfile.nginx -t nginxbuild .
Run Code Online (Sandbox Code Playgroud)
build_npm.sh
#!/bin/bash
ln -fs .dockerignore.npm .dockerignore
docker build -f Dockerfile.npm -t npmbuild .
Run Code Online (Sandbox Code Playgroud)
如果你需要使用它,docker-compose那么你需要为ngixn和npm分隔文件夹,然后可以拥有它们各自的.dockerignore文件.在您的docker-compose.yml文件中,您需要指定目录的名称作为上下文
Bri*_*lma 10
您现在可以.dockerignore在 Docker 中使用多个文件。
首先需要开启BuildKit模式;这是通过设置完成的:
export DOCKER_BUILDKIT=1
或通过添加此配置:
{ "features": { "buildkit": true } }
到 Docker 守护程序配置~/.docker/daemon.json并重新启动守护程序。这将在未来默认启用。
您还需要.dockerignore使用 Dockerfile 名称作为文件名的前缀。
因此,如果您的 Dockerfile 被调用,OneApp.Dockerfile则需要调用忽略文件OneApp.dockerignore。
全部取自此评论:https : //github.com/moby/moby/issues/12886#issuecomment-480575928
| 归档时间: |
|
| 查看次数: |
2864 次 |
| 最近记录: |