.dockerignore
¶
.dockerignore
文件在Docker镜像构建过程中扮演着重要角色。它用于排除构建上下文中不需要的文件或目录,从而优化构建过程,减少镜像体积,并提高构建效率。本文将详细解析.dockerignore
文件的作用、语法规则以及在实际开发中的应用场景。
docker CLI 客户端在执行 docker build
时,向 docker server 发送上下文时忽略哪些文件内容。
其使用方法和格式与 git 的 .gitignore
类似。
语法规则¶
.dockerignore
文件的语法规则如下:
- 通配符:支持使用
*
和?
进行通配符匹配。 - 路径匹配:支持排除特定文件或目录,例如
node_modules/
。 - 注释:以
#
开头的行被视为注释。
应用场景¶
.dockerignore
文件在实际开发中有多种应用场景,包括但不限于:
- 排除开发环境中的临时文件:例如
.git
、.DS_Store
等。 - 排除依赖目录:例如
node_modules
、vendor
等。 - 避免将敏感文件包含在镜像中:例如
.env
文件。
注意事项¶
在使用.dockerignore
文件时,需要注意以下几点:
- 路径:
.dockerignore
文件的路径是相对于构建上下文的根目录。 - 文件本身:如果
.dockerignore
文件本身被排除,则不会生效。
示例¶
以下是一个典型的.dockerignore
文件示例: