Nexus 3 OSS - Multi Arch Docker images for Docker repository - Sonatype Nexus Repository - Sonatype Community
Nexus 3 OSS - Multi Arch Docker images for Docker repository
post by haus.daniel on May 8, 2019
Hi all,
I have a question regarding the compatibility of the Docker repository in the NXRM 3.
Does the Docker repository include support for multi-arch images? I could not find anything in the documentation.
Thanks in advance for any help.
Best regards,
Daniel
post by sverre.moe on Aug 14, 2020
Sad to see this has not been answered by Sonatype.
I have the same question.
From the Nexus UI it does not look like it supports multi-arch docker images.
I really hope I am wrong. If not I hope it will come soon (Even if it will be PRO only).
We have need to have a docker image for jdk11 both for Linux, Mac and Windows.
I do not want to create different docker image names for each arch.
I order to build multi-arch it looks like one need to active the docker experimental features.
post by mjohnson on Aug 14, 2020
Support for manifest lists were added in Nexus 3.22.0 which enables multi-arch images.
When referring to the Nexus UI not looking like it supports multi-arch, what specifically are you referring to?
I apologize that this did not make it into our release notes. The JIRA issue can be found at https://issues.sonatype.org/browse/NEXUS-18546
post by jstephens on Aug 14, 2020
@sverre.moe you can follow this ticket for updates to our docs: https://issues.sonatype.org/browse/NEXUS-24923
post by luq.java on Sep 5, 2022
Hello, I have install Nexus OSS 3.41.1, I have two machine A and B, and A is X86, B is ARM64.
Now I push image from A and B to Nexus, it works well, and I can see two manifests.
Then I pull the image in A and B, but I can only pull the image which I push newest, I pull the ARM64 image in X86 Architecture.
How can I resolve it? Thanks.
post by jeff.wise on Sep 9, 2022
Sounds like you pushed two different images/manifests with the same name/tag. You will only get the last pushed image. For multi-platform support, you need to push two images with a single manifest list. You need to either use docker buildx to build and push both platforms on a single machine, or use docker manifest create to push a manifest list containing both images. See docker manifest | Docker Documentation and docker buildx | Docker Documentation for details.