n1ro°
RU

Текст и данные · Инструкция

Как уменьшить Docker image с multi-stage build

Так компиляторы, исходники и временные build-файлы не попадают в runtime image.

Редакция N1RO · Проверено

Короткий ответ

Используйте несколько `FROM`: инструменты сборки оставьте в build-stage, а в финальный stage перенесите только runtime-артефакты через `COPY --from=build`.

Порядок действий

  1. Создайте stage сборки с нужными toolchain-зависимостями.
  2. Соберите приложение в отдельный каталог.
  3. Создайте минимальный runtime stage.
  4. Скопируйте только готовые артефакты через `COPY --from=build`.
  5. Проверьте размер и smoke-test.

Перед завершением проверьте

  • Runtime содержит нужные библиотеки.
  • Build cache/секреты не копируются в финальный stage.

Важно

Слишком агрессивное уменьшение может удалить runtime-библиотеки или CA certificates; проверяйте запуск итогового образа.

Что учитывать

Слишком агрессивное уменьшение может удалить runtime-библиотеки или CA certificates; проверяйте запуск итогового образа.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Multi-stage builds). Пример и формулировки — редакция N1RO на 2026-09-20.