Назад к вопросам
Junior — Middle
76
Каким образом осуществляется сборка Docker образов для приложений, написанных на языке Go?
Ответ от нейросети
sobes.tech AI
Для сборки Docker образов Go-приложений обычно используют многоступенчатую сборку (multi-stage build), чтобы получить минимальный и оптимизированный образ.
Основные шаги:
- На первом этапе (builder) используется официальный образ с Go SDK, где происходит компиляция приложения.
- На втором этапе создаётся минимальный образ (например, на базе
scratchилиalpine), куда копируется только скомпилированный бинарник.
Пример Dockerfile:
# Этап сборки
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Минимальный финальный образ
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Такой подход уменьшает размер итогового образа и исключает из него ненужные инструменты и исходники.