Use BuildKit cache mounts for faster builds and buildx for multi-platform ARM64/AMD64 images.
BuildKit and Multi-Platform
# Cache mount — persists across builds
RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt
# Secret mount — not stored in image
RUN --mount=type=secret,id=npmrc,target=/root/.npmrc npm ci
docker build --secret id=npmrc,src=$HOME/.npmrc .
# Multi-platform
docker buildx create --use --name multiarch
docker buildx build --platform linux/amd64,linux/arm64 -t myapp:latest --push .