[DevOps] Игнорирование .dockerignore

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
07-Июл-2021 12:31

Пришел ко мне коллега и спросил: "Как проигнорировать .dockerignore при сборке docker-образа?"
После совместных поисков и проверок, было найдено простое решение, состоящее в следующем:
Собрали тестовый проект:

А теперь подробнее по файлам:
  • Dockerfile
    FROM alpine
    COPY . .
    ENTRYPOINT cat data.txt

  • .dockerignore
    data.txt
    README.md

  • data.txt (файл который будем исключать при сборке)
    hello habr

  • Dockerfile.dev
    FROM alpine
    COPY . .
    ENTRYPOINT cat data.txt

    Как видим он ничем не отличается от ранее созданного Dockerfile, но тут нас интересует постфикс в имени файла
  • Dockerfile.dev.dockerignore (файл игнора для так называемой dev сборки)
    README.md


Теперь у нас есть 2 одинаковых Dockerfile, с разницей только в названии, и у каждого есть свой .dockerignore, ну и чтоб это работало надо установить флаг DOCKER_BUILDKIT=1.
Ну а теперь, можно проверить что получилось:
аля прод-сборка
docker build -t with_ignore -f Dockerfile .
docker run --rm with_ignore

в выводе увидим
cat: can't open 'data.txt': No such file or directory

тест сборка
docker build -t without_ignore -f Dockerfile.dev .
docker run --rm without_ignore

in output
hello habr

PROFIT.
github
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_devops, #_docker, #_.dockerignore, #_devops
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 08:17
Часовой пояс: UTC + 5