docker - .dockerignore 模式排除所有子目录中的文件

标签 docker dockerignore

如何在 docker 镜像的所有子目录中排除 python 生成的文件,如 *.pyc

我在上下文目录的根目录下添加了.dockerignore:

# Ignore generated files
*.pyc

唉,docker build 至少对子目录忽略了这一点,并复制了如下所示的整个目录树:

/contextdir/
|-- Dockerfile
\-- src/
    |-- a.py   # this is copied - all right
    \-- a.pyc  # this should be ignored, but is copied too. Why?

最佳答案

*.pyc 之类的模式只匹配路径的开头,或上下文目录正下方的文件,但不递归。要使其递归工作,必须使用 **/ 语法:

# Ignore generated files
**/*.pyc

How to create a dockerignore file 的引用资料说的不够清楚。

最后,我明白了这个技巧。出于某种原因,我找不到任何提及这一点,也没有找到任何具有这种结构的示例 Dockerfile,因此在此处记录。对其他人来说是微不足道的吗?

关于docker - .dockerignore 模式排除所有子目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40261164/

相关文章:

docker - Docker CP:将文件从Docker容器复制到主机失败

reactjs - 如何在React中的Docker-Compose中配置.env文件?

docker - 我们可以控制 .dockerignore 文件中内容的区分大小写吗?

docker - Docker调试大型图像层

c# - VSTS 无法构建 docker 镜像

docker - 在一个 Docker Swarm 部署中组合多个项目的良好实践?

java - Docker 忽略 mave 使用 .dockerignore 文件创建的目标目录

database - 在 Docker 中启动和填充 Postgres 容器

docker - freeipa-server 容器不会在 docker compose 中启动