From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- ...e%2Freference%2Fcommandline%2Fpush%2Findex.html | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 devdocs/docker/engine%2Freference%2Fcommandline%2Fpush%2Findex.html (limited to 'devdocs/docker/engine%2Freference%2Fcommandline%2Fpush%2Findex.html') diff --git a/devdocs/docker/engine%2Freference%2Fcommandline%2Fpush%2Findex.html b/devdocs/docker/engine%2Freference%2Fcommandline%2Fpush%2Findex.html new file mode 100644 index 00000000..bcac30ba --- /dev/null +++ b/devdocs/docker/engine%2Freference%2Fcommandline%2Fpush%2Findex.html @@ -0,0 +1,39 @@ +

docker push


Push an image or a repository to a registry

Usage

$ docker push [OPTIONS] NAME[:TAG]
+

Refer to the options section for an overview of available OPTIONS for this command.

Description

Use docker image push to share your images to the Docker Hub registry or to a self-hosted one.

Refer to the docker image tag reference for more information about valid image and tag names.

Killing the docker image 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.

For example uses of this command, refer to the examples section below.

Options

Name, shorthand Default Description
+--all-tags , -a + Push all tagged images in the repository
--disable-content-trust true Skip image signing
+--quiet , -q + Suppress verbose output

Examples

Push a new image to a registry

First save the new image by finding the container ID (using docker container ls) 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:latest
+

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:latest 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.

Push all tags of an image

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
+
+

+ © 2019 Docker, Inc.
Licensed under the Apache License, Version 2.0.
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
Docker, Inc. and other parties may also have trademark rights in other terms used herein.
+ https://docs.docker.com/engine/reference/commandline/push/ +

+
-- cgit v1.2.3