DevOps Fortgeschritten
BuildKit — Moderne Docker Build Engine¶
BuildKitDockerCI/CDContainerization 6 Min. Lesezeit
BuildKit als Next-Gen Build Engine. Parallele Builds, Cache Mount, Secret Mount und Multi-Platform Builds.
Was ist BuildKit¶
BuildKit ist eine moderne Build Engine, die den Legacy Docker Builder ersetzt. Sie bietet parallele Layer-Verarbeitung, besseres Caching und sichereres Secret-Handling.
export DOCKER_BUILDKIT=1
docker build .
# Oder über docker buildx
docker buildx create --name mybuilder --use
docker buildx build --platform linux/amd64,linux/arm64 -t app:latest .
Cache Mounts¶
Cache Mount ermöglicht persistentes Caching von Build-Abhängigkeiten zwischen Builds.
# Go modules cache
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
go build -o /app .
# npm cache
RUN --mount=type=cache,target=/root/.npm \
npm ci
# pip cache
RUN --mount=type=cache,target=/root/.cache/pip \
pip install -r requirements.txt
Secret Mounts¶
Sichere Übergabe von Secrets an die Build-Phase — werden niemals in die Image-Layer geschrieben.
# Dockerfile
RUN --mount=type=secret,id=npmrc,target=/root/.npmrc \
npm ci
# Build-Befehl
docker buildx build --secret id=npmrc,src=.npmrc .
Multi-Platform Builds¶
docker buildx build \
--platform linux/amd64,linux/arm64 \
--push \
-t registry.example.com/app:latest .
# Emulation über QEMU
docker run --privileged --rm \
tonistiigi/binfmt --install all
Zusammenfassung¶
BuildKit ist ein unverzichtbares Upgrade vom Legacy Docker Builder. Cache Mounts, Secret Mounts und Multi-Platform Builds lösen reale Probleme in CI/CD-Pipelines.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.