Перейти к содержанию

Шаблон .dockerignore

# ── Git ───────────────────────────────────────────────────────────────────────
.git/
.gitignore
.gitattributes
.github/

# ── CI / CD ───────────────────────────────────────────────────────────────────
.github/
.gitlab-ci.yml
Jenkinsfile
.travis.yml
.circleci/

# ── Docker ────────────────────────────────────────────────────────────────────
Dockerfile
Dockerfile.*
docker-compose*.yml
.dockerignore

# ── Зависимости ───────────────────────────────────────────────────────────────
node_modules/
vendor/
.venv/
venv/

# ── Build / dist ──────────────────────────────────────────────────────────────
dist/
build/
out/
target/
*.egg-info/

# ── Тесты ────────────────────────────────────────────────────────────────────
test/
tests/
__tests__/
spec/
*.test.*
*.spec.*
coverage/
.nyc_output/

# ── Документация ──────────────────────────────────────────────────────────────
docs/
*.md
LICENSE
NOTICE
CONTRIBUTING*
CODE_OF_CONDUCT*

# ── Логи и отчёты ─────────────────────────────────────────────────────────────
logs/
*.log
reports/

# ── Secrets / ENV ─────────────────────────────────────────────────────────────
.env
.env.*
*.env
*.pem
*.key
*.crt
secrets/

# ── IDE / Editor ──────────────────────────────────────────────────────────────
.vscode/
.idea/
*.swp
*.swo

# ── macOS / Windows ───────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
desktop.ini

# ── Misc ──────────────────────────────────────────────────────────────────────
.npmrc
.yarnrc
*.local
screenshots/
monitoring/
vagrant/

Синтаксис

# Комментарий
*.log           # Исключить все .log файлы
!app.log        # Исключение — включить этот файл
**/tmp          # Директория tmp на любом уровне
dir/            # Вся директория dir/
dir/*.txt       # Только .txt файлы в dir/ (не рекурсивно)

Зачем нужен .dockerignore

.dockerignore уменьшает build context — набор файлов, который Docker передаёт демону при сборке. Это влияет на:

  • Скорость сборки — меньше данных передаётся демону
  • Размер образа — лишние файлы не попадают в слои
  • Безопасность — секреты (.env, ключи) не копируются в образ

Проверка build context

docker build --no-cache . 2>&1 | head -5     # Показывает размер build context

Logo