Junior — Middle
Hogyan történik a Docker képek összeállítása Go nyelven írt alkalmazásokhoz?
sobes.tech MI
Válasz az MI-től
A Go alkalmazások Docker képeinek építéséhez általában több szakaszos építést (multi-stage build) használnak, hogy minimális és optimalizált képet kapjanak.
Fő lépések:
- Az első szakaszban (builder) egy hivatalos Go SDK képet használnak, ahol az alkalmazás fordítása történik.
- A második szakaszban egy minimális képet hoznak létre (például
scratchvagyalpinealapú), ahová csak a fordított bináris kerül másolásra.
Dockerfile példa:
# Építési szakasz
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Minimális végső kép
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Ez a megközelítés csökkenti a végső kép méretét, és kizárja a szükségtelen eszközöket és forrásokat.