Docker на Практике
Docker на Практике
@docker_practice_ru_n1k

Сборка образа идёт по слоям, и каждый слой кэшируется. Если инструкция и её входные данные не изменились, сбор

Сборка образа идёт по слоям, и каждый слой кэшируется. Если инструкция и её входные данные не изменились, сборщик берёт готовый результат. Именно поэтому порядок команд в описании сборки влияет на время работы сильнее, чем любые оптимизации внутри.
Классическая ошибка — копировать весь проект в самом начале, а потом ставить зависимости. При такой последовательности изменение одной строчки кода делает недействительным и слой копирования, и всё, что за ним, включая долгую установку пакетов. Правильный порядок обратный: сначала копируются файлы описания зависимостей, ставятся пакеты, и только потом заезжает остальной код.
Второй нюанс — кэш не знает про время. Команда обновления списка пакетов может взяться из кэша месячной давности и поставить не то, что вы ожидали. Поэтому обновление и установку принято объединять в одну инструкцию.
И третье: удаление файла в следующем слое не уменьшает образ. Данные остаются в предыдущем слое, просто перестают быть видимыми 🔍
Этот пост опубликован в Telegram-канале Docker на Практике. Подписаться можно по ссылке: @docker_practice_ru_n1k.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.