...
Images that support multi-arch are handled with manifest list (a.k.a. fat manifest) mechanism.
When building an image for a specific arch, the arch is added in the tag of the image (e.g. akraino/validation:k8s-amd64-latest and akraino/validation:k8s-arm64-latest).
After the images are pushed in the dockerhub repo, the manifest can be created from the two images. Its name will be the same as the two images but with the arch removed from the tag (e.g. akraino/validation:k8s-latest).
When pulling the image, the name of the manifest is used (e.g. akraino/validation:k8s-latest); the correct image will be pulled based on the architecture of the host from which the pull is made.
To check the commands used to build, push and create the manifest in the Akraino validation project, check the build.mk and README files.For more details on how this works in Akraino please check this article: https://www.lfedge.org/2019/07/09/using-dockerhub-in-akraino-edge-stack-other-linux-foundation-projects/