Orta Düzey Docker
Mike Metzger
Data Engineering Consultant
linuxwindowsmacosx64_64 veya amd64arm64arm7os/cpu biçiminde ifade edilir; örn. linux/amd64


--platform=$BUILDPLATFORM bayrağını kullanır$BUILDPLATFORM, derlemeyi çalıştıran ana makinenin platformunu temsil ederARG yönergesi kullanılırTARGETOS ve TARGETARCHARG TARGETOS TARGETARCHenv komutu ile ayarlanabilir# İlk aşama, yerel platform kullanılır FROM --platform=$BUILDPLATFORM golang:1.21 AS build# Kaynakları kopyala WORKDIR /src COPY . .# Ortam değişkenlerini ana makineden al ARG TARGETOS TARGETARCH# ARG değişkenleri ile derle RUN env GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /final/app .# Konteyneri oluştur ve çapraz derlenen kodu kopyala FROM alpine COPY --from=build /final/app /bin
docker build yerine çeşitli seçeneklerle docker buildx kullanmalıyızdocker buildx, docker build'e göre daha fazla komut ve yetenek sunar; platform belirtme seçeneği de buna dahildirdocker buildx build --platform linux/amd64,linux/arm64 -t multi-platform-app .
docker buildx create --bootstrap --use komutu ile yapılır.Orta Düzey Docker