Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-18546

Add Support for Multi-Architecture Docker Images (Manifest List)

    XMLWordPrintable

    Details

    • Notability:
      4

      Description

      To allow support of images across multiple operating systems and architectures, Docker has introduced multi-architecture images (aka manifest list or fat manifest). As stated in https://developer.ibm.com/linuxonpower/2017/07/27/create-multi-architecture-docker-image/:

      An individual manifest describes the contents of one image, and a manifest list lets you group multiple images together. After the creation of a manifest list, anyone (from the project owners to their user-base) can use the manifest list name where they once used an individual image name. When a user does a docker pull or docker run, the docker engine does the work of selecting which image to pull based on the operating system and architecture on which it is running. As a result, a project’s users no longer have to worry about finding the name of the image that will work for their platform

      An example of a manifest list can be found in the Docker spec: https://docs.docker.com/registry/spec/manifest-v2-2/#example-manifest-list

      The expectation is that Nexus should support both the hosting and proxying of multi-arch images. This will also require adding support for the manifest list format type application/vnd.docker.distribution.manifest.list.v2+json

      It should be possible to both push such an image and more importantly pull an image via Nexus along the lines of the above description i.e. "docker engine does the work of selecting which image to pull based on the operating system and architecture on which it is running".  

      See below for code changes done for tools like podman and cri-o to fix the issue in those products.
      https://github.com/containers/image/commit/ca5fe04cb38a1f0e0b960e9388a3c6372efd215a

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jstephens Joseph Stephens
              Reporter:
              hardeepn Hardeep Nagra
              CC:
              Helio Goncalves
              Last Updated By:
              Bernd Hubert
              Votes:
              10 Vote for this issue
              Watchers:
              20 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title