Junior — Middle
Jak przebiega budowa obrazów Docker dla aplikacji napisanych w Go?
sobes.tech AI
Odpowiedź od AI
Aby zbudować obrazy Docker dla aplikacji Go, zwykle używa się wieloetapowego procesu budowania (multi-stage build), aby uzyskać minimalny i zoptymalizowany obraz.
Główne kroki:
- Na pierwszym etapie (builder) używa się oficjalnego obrazu z SDK Go, w którym kompilowana jest aplikacja.
- Na drugim etapie tworzony jest minimalny obraz (np. oparty na
scratchlubalpine), do którego kopiowany jest tylko skompilowany binarek.
Przykład Dockerfile:
# Etap budowania
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Minimalny obraz końcowy
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Taka metoda zmniejsza rozmiar końcowego obrazu i wyklucza niepotrzebne narzędzia i źródła.