Sobes.tech
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:

  1. Na pierwszym etapie (builder) używa się oficjalnego obrazu z SDK Go, w którym kompilowana jest aplikacja.
  2. Na drugim etapie tworzony jest minimalny obraz (np. oparty na scratch lub alpine), 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.