-
Notifications
You must be signed in to change notification settings - Fork 6k
Description
Type of issue
Missing information
Description
In these versions of the SDK we added a quite large feature - support for multi-RID publishing of containers. In short, when a project is published with /t:PublishContainer
we now check the publish request and pivot behaviors:
- if a single RID publish was specified, either by
RuntimeIdentifier
directly orContainerRuntimeIdentifier
, the same single-RID container is generated as before - if no single RID was specified AND either
RuntimeIdentifiers
directly orContainerRuntimeIdentifiers
was set, we publish the app for each RID in the RID list, then join all of the generated images together in an OCI Image Index - a structure that lets you put multiple architecture-specific images behind a shared name.
The up-shot of this change is that it can become easier to publish and work with containers in mixed-architecture development and production environments. A developer working on an linux-x64
host can publish a container for both linux-x64
and linux-arm64
and then deploy their app to hardware of either kind without needing to change an image name or label.
Publishing these multi-arch Indexes is very widespread these days and has broad tooling support.
As a user analogy, think of the new feature as
for RID in RIDs do
docker build --platform RID
docker manifest create <SOME NAME> [list of platform-specific image identifiers]
docker manifest push <SOME NAME>
Page URL
https://learn.microsoft.com/en-us/dotnet/core/containers/publish-configuration
Content source URL
Document Version Independent Id
87603b1d-8af0-ecb0-fca2-aacd3d7ef5a0
Article author
Metadata
- ID: a8539d30-07b2-29ff-8e9b-09d83bc066e5
- Service: dotnet-fundamentals