Игнорирование .dockerignore

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Пришел ко мне коллега и спросил: "Как проигнорировать .dockerignore при сборке docker-образа?"


После совместных поисков и проверок, было найдено простое решение, состоящее в следующем:


Собрали тестовый проект:


тестовый проект
А теперь подробнее по файлам:


  1. Dockerfile


    FROM alpine
    COPY . .
    ENTRYPOINT cat data.txt

  2. .dockerignore


    data.txt
    README.md

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


    hello habr

  4. Dockerfile.dev


    FROM alpine
    COPY . .
    ENTRYPOINT cat data.txt

    Как видим он ничем не отличается от ранее созданного Dockerfile, но тут нас интересует постфикс в имени файла


  5. 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

Источник: https://habr.com/ru/post/566498/


Интересные статьи

Интересные статьи

Маркетплейс – это сервис от 1С-Битрикс, который позволяет разработчикам делиться своими решениями с широкой аудиторией, состоящей из клиентов и других разработчиков.
Всем привет! Не так давно на работе в рамках тестирования нового бизнес-процесса мне понадобилась возможность авторизации под разными пользователями. Переход в соответствующий р...
В обновлении «Сидней» Битрикс выпустил новый продукт в составе Битрикс24: магазины. Теперь в любом портале можно создать не только лендинг или многостраничный сайт, но даже интернет-магазин. С корзино...
Битрикс24 — популярная в малом бизнесе CRM c большими возможностями даже на бесплатном тарифе. Благодаря API Битрикс24 (даже в облачной редакции) можно легко интегрировать с другими системами.
Мы публикуем видео с прошедшего мероприятия. Приятного просмотра.