У backend-образов есть типичный симптом: сначала он «нормальный», а потом внезапно разрастается до 1,5 GB. И обычно это не потому, что Django сам по себе тяжелый — а потому что в контейнер аккуратно уехали dev-зависимости, кеши, сборочные артефакты и файлы, которые в проде никто не открывает.
Смысл оптимизации тут не только в экономии места. Меньше образ — быстрее сборка, проще деплой, меньше риск тянуть в production лишнее. Я слышал, что в командах это часто всплывает только когда CI начинает тормозить, а registry разрастается так, что смотреть страшно.
Что обычно дают первым проходом:
— multi-stage build;
— отдельная установка зависимостей для prod;
— вынос статических и временных файлов из финального слоя;
— чистка кешей pip и apt;
— проверка .dockerignore.
Хороший ориентир простой: если образ весит как половина проекта, в нем почти наверняка есть что резать. И обычно режется без боли — нужно просто один раз посмотреть, что именно попало внутрь. 🧩
Content Funnel
@ContentFunnelPro
У backend-образов есть типичный симптом: сначала он «нормальный», а потом внезапно разрастается до 1,5 GB. И о
Этот пост опубликован в Telegram-канале Content Funnel. Подписаться можно по ссылке: @ContentFunnelPro.