Текст и данные · Инструкция
Как уменьшить Docker image с multi-stage build
Так компиляторы, исходники и временные build-файлы не попадают в runtime image.
Короткий ответ
Используйте несколько `FROM`: инструменты сборки оставьте в build-stage, а в финальный stage перенесите только runtime-артефакты через `COPY --from=build`.
Порядок действий
- Создайте stage сборки с нужными toolchain-зависимостями.
- Соберите приложение в отдельный каталог.
- Создайте минимальный runtime stage.
- Скопируйте только готовые артефакты через `COPY --from=build`.
- Проверьте размер и smoke-test.
Перед завершением проверьте
- Runtime содержит нужные библиотеки.
- Build cache/секреты не копируются в финальный stage.
Важно
Слишком агрессивное уменьшение может удалить runtime-библиотеки или CA certificates; проверяйте запуск итогового образа.
Что учитывать
Слишком агрессивное уменьшение может удалить runtime-библиотеки или CA certificates; проверяйте запуск итогового образа.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Multi-stage builds). Пример и формулировки — редакция N1RO на 2026-09-20.