基本上,我的结构如下:
project/
src/
.unwantedsub/
.dockerignore
当然,每当我建立图像时。
unwantedsub/
最终出现在图像中。我尝试了以下方法:
.unwantedsub
.unwantedsub/
*.unwantedsub/
src/.unwantedsub
src/.unwantedsub/
./src/.unwantedsub
仍显示在图像中。
.dockerignore
中没有其他内容。我要确保销毁图像并制作一个全新的图像,因此查看同一图像不是问题。 (我做了几次)。起作用的是将
.dockerignore
移动到该目录中,然后.unwantedsub
起作用。希望避免在每个子目录中使用.dockerignore
。无论如何要使它工作?
最佳答案
使用以下.dockerignore
:
src/.unwantedsub
效果很好。我已经做了一个完整的工作示例。在一个空目录中运行它。
$ mkdir -p src/.unwantedsub
$ echo src/.unwantedsub > .dockerignore
$ echo FROM debian > Dockerfile
$ echo ADD . /data >> Dockerfile
$ docker build -t test .
Sending build context to Docker daemon 4.096kB
Step 1/2 : From debian
---> de8b49d4b0b3
Step 2/2 : Add . /data
---> a15b1ddf86e4
Successfully built a15b1ddf86e4
Successfully tagged test:latest
$ docker run -it test:latest
root@b3c8ffc73b7f:/# ls -l data/src/
total 0
关于docker - .dockerignore在子目录上不起作用…仍然在镜像中结束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58942366/