Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion docs/ContainerCustomization.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ which results in a final tag of `8.0-alpine` for a .NET 8-targeting application.

This field is very free-form, and often can be used to select different operating system distributions, default package configurations, or any other 'flavor' of changes to a base image. Consult your base image's documentation for more details.

### ContainerRuntimeIdentifier
### ContainerRuntimeIdentifier(s)

This property controls the OS and platform used by your container if your [`ContainerBaseImage`](#containerbaseimage) is a 'Manifest List'. Manifest Lists are images that support more than one architecture behind a single, common, name. For example, the `mcr.microsoft.com/dotnet/runtime` image is a manifest list that supports the `linux-x64`, `linux-arm`, `linux-arm64` images.

Expand All @@ -55,6 +55,14 @@ By default, if your project has a RuntimeIdentifier set, that value will be used
</PropertyGroup>
```

_Set multiple container runtime identifiers for multi-architecture images (tags are `;` delimited):_

```xml
<PropertyGroup>
<ContainerRuntimeIdentifiers>linux-x64;linux-arm64</ContainerRuntimeIdentifiers>
</PropertyGroup>
```

> **Note**
> If you'd like to publish to a musl-based OS like alpine (as opposed to a libc-based OS), you will need to specify the base image _including architecture_, instead of relying on
> any of the inference described above. For example, a `net7.0`-targeting application that wanted to run on alpine with the x64 architecture would use the `7.0-alpine-amd64` tag of the `mcr.microsoft.com/dotnet/runtime` image (or another base image as appropriate for your project type):
Expand Down