DevOps Pokročilý
BuildKit — Moderní Docker Build Engine¶
BuildKitDockerCI/CDContainerization 6 min čtení
BuildKit jako next-gen build engine. Paralelní buildy, cache mount, secret mount a multi-platform builds.
Co je BuildKit¶
BuildKit je moderní build engine nahrazující legacy Docker builder. Nabízí paralelní zpracování vrstev, lepší caching a bezpečnější handling secrets.
export DOCKER_BUILDKIT=1
docker build .
# Nebo přes docker buildx
docker buildx create --name mybuilder --use
docker buildx build --platform linux/amd64,linux/arm64 -t app:latest .
Cache Mounts¶
Cache mount umožňuje persistentní caching build závislostí mezi buildy.
# 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¶
Bezpečné předání secrets do build fáze — nikdy se nezapíšou do vrstvy image.
# Dockerfile
RUN --mount=type=secret,id=npmrc,target=/root/.npmrc \
npm ci
# Build příkaz
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 .
# Emulace přes QEMU
docker run --privileged --rm \
tonistiigi/binfmt --install all
Shrnutí¶
BuildKit je povinný upgrade z legacy Docker builderu. Cache mounts, secret mounts a multi-platform builds řeší reálné problémy CI/CD pipeline.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.