Sobes.tech
Назад к вопросам
Middle
11

Dockerfile собирал самостоятельно? Что такое multistage сборка?

Компании, где спрашивали
РЖДРЖД

Ответ от нейросети

sobes.tech AI

Да, Dockerfile я писал и собирал самостоятельно. Multistage сборка — это подход в Docker, когда в одном Dockerfile используется несколько этапов (stages) сборки. Это позволяет разделить процесс сборки на несколько шагов, где на первых этапах собирается приложение с полным набором инструментов и зависимостей, а на финальном этапе создаётся минимальный образ, содержащий только необходимые для запуска файлы. Такой подход уменьшает размер итогового образа и повышает безопасность.

Пример multistage Dockerfile:

# Этап сборки
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Финальный этап
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

Здесь сначала собирается приложение на базе golang, а потом в минимальный alpine копируется только скомпилированный бинарник.