РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcSpSgTg 38 of 98 menu
◀ ▶

Цель сборки в Docker

Цель сборки останавливает файл шагов на именованном этапе и не доводит последний. Так можно собрать образ только с инструментами, не выполняя финальные строки.

Тот же рецепт с двумя FROM: первый этап build снова пишет tool в /tool, второй копирует файл и задаёт CMD. Файл шагов без изменений:

FROM alpine AS build RUN echo tool > /tool FROM alpine COPY --from=build /tool /tool CMD ["cat", "/tool"]

Флаг --target у docker build указывает имя этапа build. Метка tools описывает промежуточный образ, а не финальный с CMD последнего блока. Сборка до первого этапа:

docker build --target build -t tools .

Запуск образа tools не обязан иметь файл из второго этапа: это снимок промежуточного шага. Содержимое /tool проверим отдельной командой внутри контейнера; на экране будет tool из первого этапа, хотя финальный блок с копированием не выполнялся:

docker run --rm tools cat /tool

Соберите метку half только до этапа build из двухэтапного рецепта с файлом /mark.txt и словом mark.

Запустите half с чтением /mark.txt и убедитесь, что финальный этап рецепта для этой метки не выполнялся.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить