Push Docker Images One by One

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

Backward Compatibility

To learn how the standard Docker Pull REST API functions in Artifactory 7.21.2, see Pushing Multi-Architecture Docker Images Using Docker Build.

You can push multi-architecture Docker images, using a 'Manifest Lists' file, (officially referred by Docker as the ‘fat manifest file’), which references image manifests for platform-specific versions of an image. For more information, click here.

The process of pushing multi-architecture Docker images is similar to the standard Docker Push process, with a few exceptions:

  1. Each architecture gets a different tag.

  2. After all the architectures have been built and pushed, a single ‘fat manifest file' is created and contains all of the images with the relevant tagging.

  3. After pushing the 'fat manifest file', the images are published with the given tags.

$ docker build -t domain/docker/multiarch-image:amd64 --build-arg ARCH=amd64/<docker_file>
$ docker push domain/docker/multiarch-image:amd64

$ docker build -t domain_name: port/docker/multiarch-image:arm64 --build-arg ARCH=arm64/<docker_file>
$ docker push domain/docker/multiarch-image:arm64

$ docker manifest create \
domain_name:port1/docker/multiarch-image:tag \
--amend domain/docker/multiarch-image:amd64 \
--amend domain/docker/multiarch-image:arm64 \
$ docker manifest push domain/docker/multiarch-image:my-tag