全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-21 5 分钟 ✍️ juanwangdev

.dockerignore 配置

.dockerignore 用于排除构建上下文中不需要的文件,下面介绍配置方法。

基本用法

在项目根目录创建 .dockerignore 文件:

Bash
# 版本控制
.git/
.gitignore
.svn/

# 依赖目录
node_modules/
vendor/
.venv/

# 日志文件
*.log
logs/

# 环境变量
.env
.env.*
*.env

# IDE 配置
.vscode/
.idea/
*.swp
*.swo

# Docker 文件
Dockerfile*
docker-compose*
.dockerignore

# 测试与文档
test/
tests/
*.md
docs/

语法说明

Bash
# 注释以 # 开头
# 每行一个模式
node_modules/      # 排除目录
*.log              # 排除所有 .log 文件
temp?.txt          # 通配符(? 匹配单个字符)
!important.log     # ! 取反(不排除该文件)

模式匹配

模式说明示例
*匹配任意字符*.log
?匹配单个字符temp?.txt
**匹配任意目录**/*.log
!取反!important.log

示例

text
# 排除所有 .md 文件
*.md

# 但不排除 README.md
!README.md

常见场景

Go 项目

text
.git/
vendor/
*.md
test/
Dockerfile*
docker-compose*
*.exe
*.exe~
*.dll

Node.js 项目

text
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.npm
.eslintcache
coverage/
.env*

Python 项目

text
__pycache__/
*.pyc
.venv/
.env
.pytest_cache/
.mypy_cache/
*.egg-info/

与 .gitignore 对比

text
# 可复用 .gitignore
cp .gitignore .dockerignore

# 但通常 .dockerignore 更严格
# 因为构建上下文不需要测试、文档等文件
对比项.gitignore.dockerignore
用途排除 Git 追踪排除构建上下文
范围代码仓库Docker 构建
严格度宽松严格

影响

text
# 不使用 .dockerignore
docker build -t my-app .
# 构建上下文:500MB(包含 node_modules)

# 使用 .dockerignore
docker build -t my-app .
# 构建上下文:5MB(仅包含必要文件)

构建上下文大小直接影响构建速度,特别是远程 Docker Daemon。

要点总结

  • .dockerignore 排除构建上下文中不需要的文件,减小构建上下文
  • 语法类似 .gitignore,支持 *?** 通配符和 ! 取反
  • 排除 node_modules、.git、日志、测试、文档等无关文件
  • 构建上下文大小影响构建速度,强烈建议配置
  • 可复用 .gitignore 并根据 Docker 需求调整

📝 发现内容有误?点击此处直接编辑

← 上一篇 应用容器快速上手
下一篇 → ADD 与 COPY 差异
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库