docker push
Estimated reading time: 2 minutesDescription
Push an image or a repository to a registry
Usage
docker push [OPTIONS] NAME[:TAG]
Options
Name, shorthand | Default | Description |
--disable-content-trust |
true |
Skip image signing |
Parent command
Command | Description |
---|---|
docker | The base command for the Docker CLI. |
Extended description
Use docker push
to share your images to the Docker Hub
registry or to a self-hosted one.
Refer to the docker tag
reference for more information about valid
image and tag names.
Killing the docker push
process, for example by pressing CTRL-c
while it is
running in a terminal, terminates the push operation.
Progress bars are shown during docker push, which show the uncompressed size. The actual amount of data that’s pushed will be compressed before sending, so the uploaded size will not be reflected by the progress bar.
Registry credentials are managed by docker login.
Concurrent uploads
By default the Docker daemon will push five layers of an image at a time.
If you are on a low bandwidth connection this may cause timeout issues and you may want to lower
this via the --max-concurrent-uploads
daemon option. See the
daemon documentation for more details.
Examples
Push a new image to a registry
First save the new image by finding the container ID (using docker ps
)
and then committing it to a new image name. Note that only a-z0-9-_.
are
allowed when naming images:
$ docker 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 tag rhel-httpd registry-host:5000/myadmin/rhel-httpd
$ docker push registry-host:5000/myadmin/rhel-httpd
Check that this worked by running:
$ docker images
You should see both rhel-httpd
and registry-host:5000/myadmin/rhel-httpd
listed.