Adding the ability to tag the images after they've been pushed is a bit tricky when they're multi-arch images. This is because docker engine can only load images for one platform at a time, while the builder can only push multi-arch images without loading them in the context.
In order to maintain the same image hashes (and make it easy to verify images with different tags are the same), we use docker manifest to create a new manifest with a specific tag and then amend it with the images from the different architectures using the --amend flag. Afterwards, we push the manifest to Docker Hub. We use the same process to push the latest tag as well.
Types of changes
[ X] Bug fix (non-breaking change which fixes an issue)
[ X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
Adding the ability to tag the images after they've been pushed is a bit tricky when they're multi-arch images. This is because docker engine can only load images for one platform at a time, while the builder can only push multi-arch images without loading them in the context.
In order to maintain the same image hashes (and make it easy to verify images with different tags are the same), we use docker manifest to create a new manifest with a specific tag and then amend it with the images from the different architectures using the --amend flag. Afterwards, we push the manifest to Docker Hub. We use the same process to push the latest tag as well.
Types of changes
Checklist