docker - .dockerignore 不在子目录上工作......仍然在图像中结束
问题描述
基本上我的结构如下:
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
推荐阅读
- c# - 无法在 asp.net 中发送电子邮件
- json - 从 URL 下载嵌套 JSON 并制作 Observable Object SwiftUI,错误:“在调用中缺少参数 'from' 的参数”
- python - 带有函数和 scipy 的多个参数
- html - 如何使用过度扩展和占用额外空白的图像来纠正 Boostrap 卡?
- python - 我的 Python 代码执行模糊逻辑时出错
- vim - 为什么 Vim 中的外部命令每次都会导致我的 .zshenv 被获取?
- laravel - 如果我使用 Laravel Sail,我应该使用什么 SESSION_DOMAIN?
- javascript - javscript - 从从第三方源加载的 js 中删除字符串代码
- android - Android RecyclerView setVisibility 无法正常工作
- javascript - 如何在不增加网络负担的情况下推送所有待处理的请求?