logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

docker-image-push - Upload an image to a registry

Description

       Use  dockerimagepush to share your images to the Docker Hub ⟨https://hub.docker.com⟩ registry or to a
       self-hosted one.

       Refer to docker-image-tag(1) for more information about valid image and tag names.

       Killing the dockerimagepush process, for example by pressing CTRL-c while it is running in a  terminal,
       terminates the push operation.

       Registry credentials are managed by docker-login(1).

Examples

Name

       docker-image-push - Upload an image to a registry

Options

-a, --all-tags[=false]      Push all tags of an image to the repository

       --disable-content-trust[=true]      Skip image signing

       -h, --help[=false]      help for push

       --platform=""      Push a platform-specific manifest as a single-platform image to the  registry.   Image
       index  won't  be  pushed,  meaning  that  other  manifests,  including  attestations  won't be preserved.
       'os[/arch[/variant]]': Explicit platform (eg. linux/amd64)

       -q, --quiet[=false]      Suppress verbose output

Pushing A New Image To A Registry

       First  save  the new image by finding the container ID (using dockercontainerls) and then committing it
       to a new image name.  Note that only a-z0-9-_. are allowed when naming images:

       # docker container commit c16378f943fe rhel-httpd

       Now, push the image to the registry using the image ID. In this example the registry  is  on  host  named
       registry-host and listening on port 5000. To do this, tag the image with the host name or IP address, and
       the port of the registry:

       # docker image tag rhel-httpd registry-host:5000/myadmin/rhel-httpd:latest
       # docker image push registry-host:5000/myadmin/rhel-httpd:latest

       Check that this worked by running:

       # docker image ls

       You should see both rhel-httpd and registry-host:5000/myadmin/rhel-httpd listed.

   Pushalltagsofanimage
       Use the -a (or --all-tags) option to push all tags of a local image.

       The following example creates multiple tags for an image, and pushes all those tags to Docker Hub.

       $ docker image tag myimage registry-host:5000/myname/myimage:latest
       $ docker image tag myimage registry-host:5000/myname/myimage:v1.0.1
       $ docker image tag myimage registry-host:5000/myname/myimage:v1.0
       $ docker image tag myimage registry-host:5000/myname/myimage:v1

       The image is now tagged under multiple names:

       $ docker image ls

       REPOSITORY                          TAG        IMAGE ID       CREATED      SIZE
       myimage                             latest     6d5fcfe5ff17   2 hours ago  1.22MB
       registry-host:5000/myname/myimage   latest     6d5fcfe5ff17   2 hours ago  1.22MB
       registry-host:5000/myname/myimage   v1         6d5fcfe5ff17   2 hours ago  1.22MB
       registry-host:5000/myname/myimage   v1.0       6d5fcfe5ff17   2 hours ago  1.22MB
       registry-host:5000/myname/myimage   v1.0.1     6d5fcfe5ff17   2 hours ago  1.22MB

       When  pushing  with  the  --all-tags  option, all tags of the registry-host:5000/myname/myimage image are
       pushed:

       $ docker image push --all-tags registry-host:5000/myname/myimage

       The push refers to repository [registry-host:5000/myname/myimage]
       195be5f8be1d: Pushed
       latest: digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6 size: 4527
       195be5f8be1d: Layer already exists
       v1: digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6 size: 4527
       195be5f8be1d: Layer already exists
       v1.0: digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6 size: 4527
       195be5f8be1d: Layer already exists
       v1.0.1: digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6 size: 4527

See Also

docker-image(1)

Docker Community                                    Feb 2025                                           DOCKER(1)

Synopsis

dockerimagepush[OPTIONS]NAME[:TAG]

See Also