Docker nâng cao
Mike Metzger
Data Engineering Consultant
linuxwindowsmacosx64_64 hoặc amd64arm64arm7os/cpu, ví dụ linux/amd64


--platform=$BUILDPLATFORM$BUILDPLATFORM là nền tảng của host chạy buildARGTARGETOS và 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, hãy dùng docker buildx với các tùy chọn tương ứngdocker buildx có nhiều lệnh và khả năng hơn docker build, gồm cả chỉ định nền tảngdocker buildx build --platform linux/amd64,linux/arm64 -t multi-platform-app .
docker buildx create --bootstrap --useDocker nâng cao