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

  1. Pirmame etape (builder) naudojamas oficialus Go SDK vaizdas, kuriame kompiliuojama programa.
  2. Antrame etape sukuriamas minimalus vaizdas (pvz., pagrįstas scratch arba alpine), į 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.