Junior — Middle
Kaip vykdomas Docker vaizdų kūrimas programoms, parašytoms Go kalba?
sobes.tech AI
Atsakymas iš AI
Norint sukurti Docker vaizdus Go programoms, dažnai naudojamas daugiapakopis (multi-stage build) statymas, siekiant gauti minimalų ir optimizuotą vaizdą.
Pagrindiniai žingsniai:
- Pirmame etape (builder) naudojamas oficialus Go SDK vaizdas, kuriame kompiliuojama programa.
- Antrame etape sukuriamas minimalus vaizdas (pvz., pagrįstas
scratcharbaalpine), į kurį kopijuojamas tik kompiliuotas binarinis failas.
Dockerfile pavyzdys:
# Kūrimo etapas
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Minimalus galutinis vaizdas
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Šis požiūris sumažina galutinio vaizdo dydį ir išmeta nereikalingus įrankius ir šaltinius.