.dockerignore 文件

.dockerignore 文件

最近生成的镜像文件越来越大,经过排查发现里面包含里不少非必需的文件,这些文件都可以不需要参与构建。我们可以通过 .dockerignore 文件来排除不需要上传到服务端的文件或目录,.dockerignore 文件类似于 Git 中的 .gitignore

Docker 在构建镜像时会在 docker build 命令指定的上下文路径目录中查找是否有 .dockerignore 文件,如果有,则在生成 tar 包时会按照 .dockerignore 文件的规则对指定的文件目录进行选择性忽略。

编写规则

.dockerignore 文件的写法与 .gitignore 类似,都支持正则和通配符。

规则行为
# comment注释,会被忽略
*/temp*忽略根路径下一级目录中所有以 temp 开头的文件和目录
*/*/temp*忽略根路径下两级目录中所有以 temp 开头的文件和目录
temp*忽略根路径下所有以 temp 开头的文件和目录
**/*.go忽略所有路径下已 .go 结尾的文件和目录
*.md
!README.md
忽略根路径下所有 Markdown 文件,但 README.md 除外

好处

  • 避免打包上传不必要的文件目录、以及其他敏感文件,减少包体积
  • 加快构建速度