
Use one platform image reference on Intel and Arm
Wildo’s platform-image publication lane prepares Intel/AMD and Arm variants under one versioned reference. When that manifest is published, each compatible host selects the image for its architecture without a different image name in the deployment configuration.
This applies to the framework’s platform image. Application images need their own architecture-aware build setup.
Example — Share a version across different machines
An Arm development machine and an Intel server can reference the same published platform version. Each pulls its corresponding Linux image, including native dependencies prepared for that architecture.
For engineers
How are the variants produced?
FrameworkDockerPublishService uses FRAMEWORK_DOCKER_IMAGE_PLATFORMS, containing linux/amd64 and linux/arm64. This selected source excerpt shows the publication invocation after target resolution:
FrameworkDockerPublishService.runDockerCommand('buildx build --push', [
'buildx',
'build',
'--platform',
FRAMEWORK_DOCKER_IMAGE_PLATFORMS.join(','),
'-f',
buildContract.dockerfilePath,
'-t',
target.imageRef,
'--push',
buildContract.contextPath,
]);
The platform Dockerfile leaves platform selection to this invocation and installs dependencies inside each target’s builder stage. Building a non-native target may need emulation or a suitable remote builder; creating both variants is separate from running either one.
Why are aliases handled separately?
Only after all immutable image pushes succeed does the publisher repoint mutable aliases with docker buildx imagetools create. This references the full manifest rather than retagging whichever single-architecture image a local daemon holds.
The local rebuild path creates an image for the host rather than publishing a multi-platform manifest. Application image workflows are also separate: the platform publisher’s target list does not automatically configure their architecture list.
For a release, inspect the published manifest and exercise the intended hosts. The emitted two-platform command establishes the publication contract; it is not by itself evidence that a particular registry tag contains both runnable variants.