Docker intermédiaire
Mike Metzger
Data Engineering Consultant
linuxwindowsmacosx64_64 ou amd64arm64arm7os/cpu, p. ex. linux/amd64


--platform=$BUILDPLATFORM$BUILDPLATFORM représente la plateforme de l'hôte qui exécute la créationARGTARGETOS et TARGETARCHARG TARGETOS TARGETARCHenv.# Étape initiale, utilisant la plateforme locale FROM --platform=$BUILDPLATFORM golang:1.21 AS build# Copier le code source en place WORKDIR /src COPY . .# Récupérer les variables d'environnement de l'hôte ARG TARGETOS TARGETARCH# Compiler le code en utilisant les variables ARG RUN env GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /final/app .# Créer le conteneur et charger le code compilé en croisé FROM alpine COPY --from=build /final/app /bin
docker build, utilisez docker buildx avec diverses optionsdocker buildx offre plus de commandes et de capacités que docker build, dont l'option de préciser une plateformedocker buildx build --platform linux/amd64,linux/arm64 -t multi-platform-app .
docker buildx create --bootstrap --use.Docker intermédiaire