🛠 .dockerignore: игнорирование при сборке образа
Салют,
Мы с тобой смотрели принцип игнорирования для .gitignore вот тут, а сейчас посмотрим принцип для .dockerignore. То есть мы посмотрим, что позволяет игнорировать docker при сборке образа.
Игнорирование аналогично .gitignore:
- Уменьшает размер
- Ускоряет сборку
- Повышает безопасность при правильных ограничениях и использования аналогов по типу хранения артефактов в packages
В .dockerignore это правила, которые поддерживают пути, шаблоны, инверсии исключений:
- Пути и файлы: some_docs/
- Шаблоны: *.log
- Игнорирование: `!config/default.json
dockerignore:
node_modules
build/
*.log // игнорирование всех логов
.env
!.env.example // оставляем конкретный артефакт
Как собирать:
docker build -t with_ignore -f Dockerfile .
docker run --rm with_ignore
Итого: выводы аналогичны .gitignore, но шире, так как сборка уже выходит дальше, чем git repo. Для генерации данного файла существуют онлайн сервисы, на подобии этого dockerignore-generator. Автогенераторы позволяют обще собрать шаблон файла. Кстати, для helm-чартов аналогично используется по такому же принципу helmignore.
#toolchain #reco
