500 MB в Docker-образе Django — это не «ну и ладно», это уже кандидат на разбор на собесе.
Потому что большой образ почти всегда означает одно: в production уехало лишнее. Dev-зависимости, кеши, сборки, тестовые артефакты, мусор из venv — всё это сначала незаметно, а потом вы получаете медленный deploy, долгий CI и лишние риски.
3 шага, которые я бы ждал от сильного ответа на интервью:
1. **Посмотреть внутрь образа**
`docker history`, `docker inspect`, `dive` — понять, какой слой жирный и почему.
2. **Убрать то, что не нужно рантайму**
multi-stage build, `--no-cache-dir`, отдельные requirements для prod, чистка кешей и временных файлов.
3. **Сделать образ предсказуемым**
минимальный base image, .dockerignore, только нужные зависимости, запуск без лишних прав.
Хардкорная правда: если кандидат говорит только «надо почистить кеш», это слабый ответ. Сильный — объясняет, **что именно попадёт в финальный слой и как это проверить**.
На собесе такой вопрос легко превращается в разговор про build pipeline, безопасность и скорость деплоя. И вот тут уже видно, кто реально работал с Docker, а кто просто писал `docker build` и надеялся на магию 🐳
Interview Lab
@InterviewLabPro
500 MB в Docker-образе Django — это не «ну и ладно», это уже кандидат на разбор на собесе.
Этот пост опубликован в Telegram-канале Interview Lab. Подписаться можно по ссылке: @InterviewLabPro.