Middle+
32
Docker-да көп кезеңді құрастыру дегеніміз не? Неге ол қажет?
Сұралған компаниялар
Астрал-Софт
AI-дан жауап
sobes.tech AI
Multi-stage build в Docker позволяет использовать несколько этапов сборки в одном Dockerfile. Это помогает создавать компактные и оптимизированные образы, отделяя этапы сборки и финального запуска приложения.
Например, на первом этапе можно собрать приложение с нужными инструментами и зависимостями, а на втором — скопировать только скомпилированные артефакты в минимальный образ без лишних файлов и инструментов сборки.
Преимущества:
- Уменьшение размера итогового образа
- Повышение безопасности (меньше компонентов в финальном контейнере)
- Чистота и удобство управления Dockerfile
Пример:
# Этап сборки
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Финальный образ
FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]