1、docker push 简介
docker push
命令用于将本地镜像推送到指定的容器镜像仓库。使用 docker image push
命令将的镜像共享到 Docker Hub 镜像仓库或自托管镜像仓库。
杀死 docker image pus
h 进程,例如在终端中按下 CTRL-c,将终止推送操作。
在 docker push
过程中会显示进度条,其中显示未压缩的大小。发送数据之前,实际上会进行压缩,因此上传的大小不会反映在进度条上。
镜像仓库凭据由 docker login
管理。
默认情况下,Docker守护进程将一次推送5层映像。如果使用的是低带宽连接,这可能会导致超时问题,可能想要通过--max-concurrent-uploads守
护进程选项来降低超时时间。更多细节请参阅守护进程文档。
参考文档:https://docs.docker.com/engine/reference/commandline/push/
2、docker push 语法
docker push [OPTIONS] NAME[:TAG]
3、docker push 命令
1)将新镜像推送到仓库
首先,通过查找容器 ID(使用 docker container l
s 命令)并将其提交到新镜像名称来保存新镜像。请注意,只有 a-z0-9-_
。在命名镜像时允许。
docker container commit c16378f943fe rhel-httpd:latest
现在,使用镜像 ID 将镜像推送到仓库。在本示例中,仓库位于名为 registry-host 并侦听端口 5000 的主机上。要执行此操作,请使用主机名或 IP 地址和仓库的端口标记图像:
docker image tag rhel-httpd:latest registry-host:5000/myadmin/rhel-httpd:latest docker image push registry-host:5000/myadmin/rhel-httpd:latest
运行以下命令以检查它是否有效:
docker image ls
应该会看到 rhel-httpd
和 registry-host:5000/myadmin/rhel-httpd
列出。
2)推送镜像的所有标记(-a、--all-tags)
使用 -a
(或 --all-tags
)选项推送本地镜像的所有标记。
以下示例为镜像创建多个标记,并将所有这些标记推送到 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
镜像已通过多个名称标记:
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
使用 --all-tags
选项进行推送时,将推送 registry-host:5000/myname/myimage
镜像的所有标记:
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
4、命令选项
选项 | 默认值 | 描述 |
--all-tags , -a | 将镜像的所有标记推送到存储库中 | |
--disable-content-trust | true | 跳过镜像签名 |
--quiet , -q | 抑制冗长的输出 |