Multi-Platform Build

ARM, AMD64 ve farklı platformlar için build

Buildx Nedir?

Docker Buildx, multi-platform image'lar oluşturmanızı sağlar.

Buildx Kurulum

# Builder oluştur
docker buildx create --name multibuilder --use

# Builder'ı başlat
docker buildx inspect --bootstrap

# Builder listele
docker buildx ls

Multi-Platform Build

# AMD64 ve ARM64 için build
docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t username/myapp:latest \
  --push \
  .

# Belirli platform için
docker buildx build \
  --platform linux/arm64 \
  -t myapp:arm64 \
  --load \
  .

Desteklenen Platformlar

  • linux/amd64
  • linux/arm64
  • linux/arm/v7
  • linux/arm/v6
  • linux/386
  • linux/ppc64le
  • linux/s390x

Platform-Specific Dockerfile

FROM --platform=$TARGETPLATFORM node:18-alpine

ARG TARGETPLATFORM
ARG BUILDPLATFORM

RUN echo "Building on $BUILDPLATFORM for $TARGETPLATFORM"

WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "server.js"]