Docker-образ 1,5 GB — это не «ну нормально для backend’а», это жир, который жрёт скорость сборок и нервы команды.
Если у вас Django в проде разрастается как креатив без лимитов, режьте по схеме 3 шага:
1. **Соберите образ как медиаплан**
Оставьте только то, что реально нужно в production. Dev-зависимости, тестовые пакеты, кеши, временные файлы — всё мимо. Иначе вы тащите в релиз шум, который не влияет на результат.
2. **Разделите build и runtime**
Сначала собираете окружение, потом переносите в финальный образ только артефакты. Это как делать отдельный hook и отдельный body: не смешивайте всё в одну кашу.
3. **Проверьте, что именно раздувает вес**
Логи, зависимости, media, node_modules, системные пакеты — часто именно они делают +500 MB без пользы. Обрезали одно — уже быстрее pull, deploy и rollback. 🚀
Чек-лист перед пушем:
- есть ли в образе dev-зависимости?
- не остались ли кеши и мусор?
- можно ли собрать smaller runtime image?
- реально ли всё это нужно на проде?
Меньше вес — быстрее запуск. А быстрее запуск в проде — это уже performance, а не «техническая косметика».
Ads Kitchen
@AdsKitchenPro
Docker-образ 1,5 GB — это не «ну нормально для backend’а», это жир, который жрёт скорость сборок и нервы коман
Этот пост опубликован в Telegram-канале Ads Kitchen. Подписаться можно по ссылке: @AdsKitchenPro.