docker镜像推送
描述 | 将图像上传到注册表 |
---|---|
用法 | docker image push [OPTIONS] NAME[:TAG] |
别名 | docker push |
描述
用于docker image push
将您的映像共享到
Docker Hub
注册表或自托管注册表。
docker image tag
有关有效图像和标签名称的更多信息,请参阅
参考资料。
终止docker image push
进程(例如,CTRL-c
当进程在终端中运行时按 )会终止推送操作。
docker推送过程中会显示进度条,显示未压缩的大小。实际推送的数据量会在发送前进行压缩,因此进度条不会反映上传的大小。
注册表凭据由 docker login管理。
并发上传
默认情况下,Docker 守护进程一次会推送五层镜像。如果您使用低带宽连接,这可能会导致超时问题,您可能希望通过--max-concurrent-uploads
守护程序选项降低此超时问题。有关更多详细信息,请参阅
守护程序文档。
选项
选项 | 默认 | 描述 |
---|---|---|
-a, --all-tags | 将镜像的所有标签推送到存储库 | |
--disable-content-trust | true | 跳过图像签名 |
-q, --quiet | 抑制详细输出 |
例子
将新镜像推送到注册表
首先通过查找容器 ID(使用
docker container ls
)来保存新映像,然后将其提交到新映像名称。请注意,仅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
列出。
推送图像的所有标签(-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