simplify scaffolded docker-buildx to plain docker build --platform once the containerd image store is the default
docker buildx/BuildKit is not deprecated — it's the default builder. This issue is only about simplifying our multi-arch scaffold later, once upstream Docker makes it possible everywhere. Filing it so we don't miss the window.
Current scaffold (keep as-is for noes buildx create (docker-containerdriver) + a Dockerfile.cross sed + --platform … --push + buildx rm. This works on both image stores (overlay2 and containerd), whipped to unknown environments needs. Target. With the containerd image s--platform=linux/amd64,linux/arm64--push . does multi-arch with no buildx create and no Dockerfile.cross. We can drop all that once we can rely on it.
Do this when ALL of these upstream conditions land — watch these:
- A. containerd image store is the default in Docker Engine (not just fresh installs / not experimental) → watch docker/roadmap#371 (https://github.com/docker/roadmap/issues/371) and moby/moby discussion #48085 (https://github.com/moby/moby/discussions/48085)
- B. CI runners ship it by default (e.g. GitHub ubuntu-latest daemon uses the containerd store) → watch actions/runner-images (https://github.com/actions/runner-images) release notes (no dedicated tracker yet)
- C. our minimum supported Docker is new enough / classic builder retired → watch moby/moby#40379 (https://github.com/moby/moby/issues/40379) and docker/cli deprecated.md (https://github.com/docker/cli/blob/master/docs/deprecated.md)
Then:
- Replace the docker-buildx recipe with docker build --platform=$(PLATFORMS) --push …
- Remove buildx create/use/rm and the Dockerfile.cross sed
- Keep docker-build for single-arch
Refs: #2175, #4560 · multi-platform docs (https://docs.docker.com/build/building/multi-platform/) · containerd image store (https://docs.docker.com/engine/storage/containerd/)
Sources: docker/roadmap#371 (https://github.com/docker/roadmap/issues/371), moby/moby#48085 (https://github.com/moby/moby/discussions/48085), moby/moby#40379 (https://github.com/moby/moby/issues/40379), docker/cli deprecated.md (https://github.com/docker/cli/blob/master/docs/deprecated.md), kubebuilder #2175 (https://github.com/kubernetes-sigs/kubebuilder/issues/2175), kubebuilder #4560 (https://github.com/kubernetes-sigs/kubebuilder/issues/4560)
Source: kubernetes-sigs/kubebuilder