Skip to content

containerd integration: Platform selection #47680

@vvoland

Description

@vvoland

Description

A draft tracking issue for containerd multiplatform image UX PRs

The general rule of platform selection is:

  1. Commands without --platform should act on the "full" multi-platform image instead of a single platform from that image if possible. Commands that act on information purely based on image config, should default to any present platform, but prefer the one matching the daemon host platform.
  2. If the above is not possible, the command should act on any present platform, but prefer the one matching the daemon host platform.
  3. Otherwise, the command should error and force user to explicitly pass a specific platform that the operation should act on.

docker push --platform=...

Pick a platform-specific manifest and push it instead of the whole multi-platform index.

docker images --tree

Make docker images output multi-platform aware

docker convert (cancelled)

Create new docker images from the existing multi-platform images and filter their manifests.
In future this could also support other operations (like converting layer compression, etc).

NOTE: While docker image create could be a better name for this, docker create is already an alias to docker container create.

docker inspect --platform=...

docker rmi --platform=...

Remove content of the specified platform

docker save --platform=...

Pick a platform-specific manifest and save it instead of the whole multi-platform index.

docker load --platform=...

Load the image from the tarball (multi-platform index), but only import specified platform blobs.

docker history --platform=...

Show history for the specified platform, otherwise will show the host platform, if host platform isn't available, it will pick any.

Metadata

Metadata

Assignees

Labels

area/imagesImage Servicearea/uxcontainerd-integrationIssues and PRs related to containerd integrationkind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.kind/epicEpics to track work on related tickets

Projects

Status

Required for default containerd

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions