docker push

命令

docker push

描述

将镜像推送到镜像仓库

使用 docker push 将镜像推送到 Docker Hub 镜像仓库或自行托管的镜像仓库。

在推送镜像时,会根据镜像的完整名称(镜像的tag)进行推送到对应的仓库,除非用户使用 docker tag 修改了镜像的tag,否则默认都会推送到 hub.docker.com 仓库。

在推送镜像到镜像仓库的过程中,可以使用 CTRL-c 快捷键终止该推送过程。

docker push 期间显示的进度条中的大小是镜像未压缩时的大小,实际在上传数据前会对镜像数据进行压缩.

对于有安全校验的 镜像仓库 ,在 push 镜像前需要先使用命令 docker login 登录。

并发上传。默认情况下,Docker守护程序一次将推送五层镜像。如果您使用的是低带宽连接,则可能会导致超时问题,您可能希望通过 --max-concurrent-uploads 的系统 daemon 进程选项降低超时时间。

帮助

docker push --help

Usage: docker push [OPTIONS] NAME[:TAG]

Push an image or a repository to a registry

Options:
      --disable-content-trust Skip image signing (default true)

选项

| 名称,简写| 默认 | 描述 | | – | – | – | | –disable-content-trust | true | 跳过镜像签名校验 |

示例

将新镜像推送到镜像仓库 首先找到容器的ID(使用docker ps),将其提交为新的镜像。注意:镜像的名称字符要求必须属于a-z0-9-_.才被允许。

$ docker commit c16378f943fe rhel-httpd

将新的镜像推送到镜像仓库。镜像仓库的服务器地址registry-host,监听的端口是 5000,因此需要修改镜像的tag信息

$ docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd

$ docker push registry-host:5000/myadmin/rhel-httpd

在 push 正常完成后,可以在另外一台机器上验证是否上传成功。 另外一台机器

$ docker pull registry-host:5000/myadmin/rhel-httpd
$ docker images