🐳 Docker-образ с 3,17 ГБ удалось сократить до 354 МБ — почти в 9 раз меньше!
Оптимизация достигается простыми приёмами:
- используйте multi-stage build
- выбирайте python:slim или distroless вместо тяжёлых base images
- удаляйте build-зависимости после сборки
- очищайте apt и pip кэш
- применяйте .dockerignore для лишних файлов
- устанавливайте только production-зависимости
- объединяйте команды RUN, чтобы избежать ненужных слоёв
Результат:
3,17 GB → 354 MB
Преимущества:
- быстрее pull/push
- ускорение CI/CD
- меньше места в registry
- ускоренный запуск новых pod
- снижение потенциальной attack surface
Перед оптимизацией проверьте, что раздувает образ:
docker history
и осмотрите слои через dive. Большие Docker-образы часто содержат гигабайты ненужных build-tools и кэша, которые не нужны во время работы.