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

Многоэтапная сборка в Docker

Многоэтапная сборка оставляет в итоговом образе только файлы последнего этапа, а инструменты сборки выбрасывает. Промежуточные слои служат черновиком, а не частью готовой метки.

Первый этап на базе alpine с именем build создаёт файл с инструментом. Второй этап снова берёт alpine и забирает только нужный файл. Рецепт для образа app:

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

После сборки с меткой -t app . запуск без лишних слов печатает tool. Первый этап в готовый образ не входит: в метке нет отдельного слоя с именем build, только результат копирования. Выполним сборку и проверку:

docker build -t app . docker run --rm app

Соберите образ leaf, где первый этап пишет seed в /seed.txt, а финальный показывает это слово через cat.

Убедитесь, что в списке слоёв финальной метки нет отдельного образа первого этапа, а при запуске видно только seed.

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