Середній рівень Docker
Mike Metzger
Data Engineering Consultant
linuxwindowsmacosx64_64 або amd64arm64arm7os/cpu, наприклад linux/amd64


--platform=$BUILDPLATFORM$BUILDPLATFORM — це платформа хоста, на якому виконується збіркаARGTARGETOS і 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 buildx із потрібними опціямиdocker buildx надає більше команд і можливостей, зокрема вибір платформиdocker buildx build --platform linux/amd64,linux/arm64 -t multi-platform-app .
docker buildx create --bootstrap --use.Середній рівень Docker