Docker 中級
Mike Metzger
Data Engineering Consultant
linuxwindowsmacosx64_64 或 amd64arm64arm7os/cpu,例如 linux/amd64


--platform=$BUILDPLATFORM 旗標$BUILDPLATFORM 代表執行建置的主機平台ARG 指令TARGETOS 與 TARGETARCHARG TARGETOS TARGETARCHenv 指令設定# 初始階段,使用本機平台 FROM --platform=$BUILDPLATFORM golang:1.21 AS build# 複製原始碼 WORKDIR /src COPY . .# 從主機取得環境變數 ARG TARGETOS TARGETARCH# 使用 ARG 變數編譯程式 RUN env GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /final/app .# 建立容器並載入交叉編譯後的程式 FROM alpine COPY --from=build /final/app /bin
docker build,而要改用具備選項的 docker buildxdocker buildx 比 docker build 提供更多指令與功能,可指定平台docker buildx build --platform linux/amd64,linux/arm64 -t multi-platform-app .
docker buildx create --bootstrap --use 建立Docker 中級