На одном из проектов увидел знакомую картину: Docker-образ backend-сервиса подрос до 1,5 GB, а в CI/CD уже начали шутить, что сборка занимает больше времени, чем сам код. Для production это не «косметика», а вполне ощутимый технический долг.
Что обычно раздувает образ:
— dev-зависимости, которые случайно уезжают в релиз;
— кэш пакетных менеджеров;
— исходники тестов, документация, временные файлы;
— лишние слои в Dockerfile;
— базовый образ «на всякий случай побольше».
Я обычно смотрю на это как на схему из трёх этапов: сборка → минимальный runtime → только нужные артефакты. Мультистейдж тут не модный приём, а нормальная архитектура упаковки.
Практический эффект простой: меньше размер — быстрее pull, быстрее деплой, меньше нагрузка на registry и ниже шанс тащить в прод лишнее. В больших инсталляциях это уже не оптимизация ради красоты, а часть дисциплины поставки. 🧩
Если образ «тяжелеет» без видимой причины — почти всегда внутри лежит то, что в production жить не должно.
Битрикс Stack
@BitrixStackPro
На одном из проектов увидел знакомую картину: Docker-образ backend-сервиса подрос до 1,5 GB, а в CI/CD уже нач
Этот пост опубликован в Telegram-канале Битрикс Stack. Подписаться можно по ссылке: @BitrixStackPro.