-
Hi everyone 👋🏻 I'm thinking about switching from At the moment, all my Furthermore, I'm curious about the new rootless containers. That's why the following questions came to my mind:
Thx! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
This is an excellent set of questions - let's go through them :)
|
Beta Was this translation helpful? Give feedback.
-
Glad you had success! So I'll start with a quick note first about what went wrong in your example above, and then a longer bit about how to make it do what you want. In your publish commands you explicitly specified tags of a version and So for the individual publish commands I'd start there - add the final image architecture as a suffix to each tag value you're passing in. If you do this, you should end up with 4 new image tags in total - one for each combination of (tag, latest) and (amd64, arm64). However, that doesn't solve the other problem you saw - you want to also create what's called an 'image manifest' - a nice layer on top of the architecture-specific images that end users can use and not care about the details. This can be done, but it's not native to the SDK tooling yet - you'll still need Docker to stitch together the images into a manifest list. Doing this took some work, but I cracked it today! The very hard constraint your example brought was you wanted to use Essentially there are two phases - programmatically defining the matrix of 'tag bases' (i.e. a specific version, Note here that multi-arch manifests must reference an image that's been pushed to a registry, so I added that condition to the logic in this target. Check that out and let me know what you think, here's what the output of running this target looked like for me:
|
Beta Was this translation helpful? Give feedback.
This is an excellent set of questions - let's go through them :)
dotnet publish
x times - though it's also possible with a bit of MSBuild logic to automate this process. This is something that I'd like to get into the SDK, but it needs more design before it's ready for everyone. A simple version of this can be found here, and it looks like this when invoked: