Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що означає "multi-stage build"?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**"Multi-stage build"** - це спосіб збірки Docker-образу, при якому використовується кілька стадій (етапів) в одному Dockerfile. **Ключове:** у результаті виходить маленький і чистий фінальний образ, що містить тільки те, що потрібно для запуску.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення"Multi-stage build" - це спосіб збірки Docker-образу, при якому використовується кілька стадій (етапів) в одному Dockerfile. Одна стадія збирає проєкт (наприклад, встановлює залежності, компілює код), а інша використовує тільки результат збірки, не забираючи все сміття з першого етапу. Що дає multi-stage: **1. Менший підсумковий образ** На фінальному етапі копіюється тільки потрібний артефакт (наприклад, бінарник або зібраний білд фронтенду), без SDK, компіляторів і тимчасових файлів. **2. Безпечніший образ** Під час виконання застосунку не буде інструментів розробки, утиліт збірки й зайвих залежностей - менша поверхня атаки. **3. Легше підтримувати** Усе в одному Dockerfile, але поділено на стадії: `build`, `test`, `prod` тощо. Короткий приклад: ```dockerfile ## Stage 1 - збірка FROM node:18 AS builder WORKDIR /app COPY . . RUN npm install && npm run build # Stage 2 - легкий фінальний образ FROM nginx:alpine COPY --from=builder /app/dist /usr/share/nginx/html ``` У результаті виходить маленький і чистий фінальний образ, що містить тільки те, що потрібно для запуску.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.