Docker忽略.dockerignore中的模式

我打算从docker镜像中排除python生成文件.所以我在上下文目录的根目录添加了.dockerignore:

# Ignore generated files
*.pyc

Alas docker build忽略了这一点,并复制了如下所示的整个目录树:

/contextdir/
|-- Dockerfile
\-- src/
    |-- a.py   # this is copies - all right
    \-- a.pyc  # this should be ignored,but is copied too. Why?
最佳答案
最后,我理解了诀窍.出于某种原因,我无法找到任何提及这个并且没有找到任何带有这种构造的Dockerfile示例,所以在此处记录它.对其他人来说这是微不足道的吗?

https://docs.docker.com/engine/reference/builder/#/dockerignore-file处的引用不够清楚,* .pyc之类的模式仅在路径的开头匹配,或者直接在上下文目录下匹配,但不能递归.为了使它以递归方式工作,必须使用** /语法:

# Ignore generated files
**/*.pyc

相关文章

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Li...
1、什么是docker?答:docker是开源的应用容器引擎;开发人员把他们的应用及依赖包打包发布到容器当中。...
1、什么是namespace? 答:名称空间,作用隔离容器 2、namespace隔离有那些? 答:ipc:共享内存、消息队...
1、Docker能在非Linux平台(Windows+MacOS)上运行吗? 答:可以 2 、如何将一台宿主机的docker环境...
环境要求: IP hostname 192.168.1.1 node1 项目规划: 容器网段:172.16.10.0/24 NGINX:172.16.10.10...
文档上传地址:https://files.cnblogs.com/files/lin-strive/07-docker%E8%B7%A8%E4%B8%BB%E6%9C%BA%E7...