- Intermédiaire
- Construire des images
Comment ça marche
Nomme une étape avec FROM golang:1.22 AS build, puis COPY --from=build /out/api /api dans une étape suivante. Seule la dernière étape, ou celle choisie avec --target, devient l'image ; les autres restent dans le cache de build.
Ce qui casse
La dernière étape doit contenir ce dont le programme a besoin pour tourner. Un binaire lié à la glibc ne démarre pas sur alpine ou scratch (« no such file or directory »), et une application Node.js a besoin de node dans l'image de base finale.
Dans un Dockerfile
FROM golang:1.22 AS build
WORKDIR /src
COPY . .
RUN CGO_ENABLED=0 go build -o /out/api ./cmd/api
FROM gcr.io/distroless/static-debian12:nonroot
COPY --from=build /out/api /api
ENTRYPOINT ["/api"]
Regarde-le casser, puis répare-le
Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.