इंटरमीडिएट Docker
Mike Metzger
Data Engineering Consultant
linuxwindowsmacosx64_64 या amd64arm64arm7os/cpu के रूप में, जैसे linux/amd64 कहा जाता है


--platform=$BUILDPLATFORM फ़्लैग यूज़ करता है$BUILDPLATFORM उस होस्ट के प्लेटफ़ॉर्म को दर्शाता है जो बिल्ड चला रहा हैARG निर्देश यूज़ होता हैTARGETOS और TARGETARCHARG TARGETOS TARGETARCHenv कमांड से सेट किए जा सकते हैं# Initial stage, using local platform FROM --platform=$BUILDPLATFORM golang:1.21 AS build# Copy source into place WORKDIR /src COPY . .# Pull the environment variables from the host ARG TARGETOS TARGETARCH# Compile code using the ARG variables RUN env GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /final/app .# Create container and load the cross-compiled code FROM alpine COPY --from=build /final/app /bin
docker build की जगह docker buildx को विकल्पों के साथ यूज़ करेंdocker buildx, docker build से ज़्यादा कमांड और क्षमताएँ देता है, जिसमें प्लेटफ़ॉर्म बताने का विकल्प भी शामिल हैdocker buildx build --platform linux/amd64,linux/arm64 -t multi-platform-app .
docker buildx create --bootstrap --use कमांड से किया जाता हैइंटरमीडिएट Docker