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

Кеш сборки в Docker

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

Первый рецепт для образа cache записывает слово в файл и печатает его при старте. Файл шагов в первом виде такой:

FROM alpine RUN echo one > /a.txt CMD ["cat", "/a.txt"]

Первая сборка с меткой -t cache . выполнит обе строки с действием. В файле окажется слово one, и запуск его покажет. Выполним первую сборку:

docker build -t cache .

Потом меняют только вторую строку: вместо one запишут two. Первая строка с основой остаётся прежней. Файл шагов во втором виде такой:

FROM alpine RUN echo two > /a.txt CMD ["cat", "/a.txt"]

Вторая сборка с тем же именем берёт готовый первый шаг с основой и заново делает только запись в файл. Сообщения в терминале покажут, что верхняя ступень взята из кеша. Выполним повторную сборку:

docker build -t cache .

Запуск после второй сборки напечатает слово two. Проверка подтверждает, что изменился только затронутый слой. Откроем вывод так:

docker run --rm cache

Соберите образ step дважды подряд, во второй раз меняя только последнюю команду записи файла.

Напишите, какой шаг при второй сборке можно не повторять.

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