Расскажи про мультистейдж Docker билд — что делал, как оптимизировал процесс сборки и доставки сервиса?

Multi-stage build отделяет среду сборки от runtime-образа: компилятор и исходники остаются на builder-стадии, а в финальную копируются только нужные артефакты.

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

Что ответить на собеседовании

Multi-stage build отделяет среду сборки от runtime-образа: компилятор и исходники остаются на builder-стадии, а в финальную копируются только нужные артефакты.

Подробный разбор

Ответ с пояснениями

Multi-stage build отделяет среду сборки от runtime-образа: компилятор и исходники остаются на builder-стадии, а в финальную копируются только нужные артефакты.

В Go это часто бинарник плюс необходимые сертификаты и данные времени. Но минимальный scratch-образ подходит не всегда: нужно учитывать cgo, динамические библиотеки и требования приложения.

Для ускорения сборки полезно отделить скачивание зависимостей от часто меняющегося кода, использовать кеш и .dockerignore. Для доставки важны воспроизводимые версии базовых образов, проверка содержимого и работа без лишних привилегий. Уменьшение образа само по себе не доказывает безопасность.

Источник: docs.docker.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее