docker 镜像推送
描述 | 将镜像上传到注册表 |
---|---|
用法 | docker image push [OPTIONS] NAME[:TAG] |
别名 | docker push |
描述
用docker image push
以将您的镜像共享到 Docker Hub 注册表或自托管注册表。
请参阅docker image tag
更多信息参考
关于有效的镜像和标签名称。
杀死docker image push
处理,例如按CTRL-c
虽然它是
在终端中运行,终止 push作。
在 docker push 期间会显示进度条,其中显示未压缩的大小。 实际推送的数据量将在发送前进行压缩,因此 上传的大小不会反映在进度条上。
注册表凭证由 docker login 管理。
并发上传
默认情况下,Docker 守护程序一次将推送镜像的 5 层。
如果您使用的是低带宽连接,这可能会导致超时问题,并且您可能希望降低
this 通过--max-concurrent-uploads
daemon 选项。有关更多详细信息,请参阅 daemon 文档。
选项
选择 | 违约 | 描述 |
---|---|---|
-a, --all-tags | 将镜像的所有标签推送到仓库 | |
--disable-content-trust | true | 跳过镜像签名 |
--platform | API 1.46+将特定于平台的清单作为单平台镜像推送到注册表。 Image 索引不会被推送,这意味着不会保留其他清单,包括证明。 'os[/arch[/variant]]':显式平台(例如 linux/amd64) | |
-q, --quiet | Suppress verbose 输出 |
例子
将新镜像推送到注册表
首先通过查找容器 ID 来保存新镜像(使用docker container ls
),然后将其提交到新的镜像名称。请注意,
只a-z0-9-_.
在命名镜像时允许:
$ docker container commit c16378f943fe rhel-httpd:latest
现在,使用镜像 ID 将镜像推送到注册表。在此示例中,
注册表位于 名为registry-host
并正在侦听端口5000
.待办事项
this,使用主机名或 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
image 被推送:
$ 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