docker image push

描述

将镜像上传到镜像仓库(registry)。

用法

docker image push [OPTIONS] NAME[:TAG]

别名

docker pushdocker image push 的简写别名。

使用 docker image push 可以将你的镜像分享到 Docker Hub 或你自建的镜像仓库中。 有关合法的镜像名称和标签格式,请参阅 docker image tag 命令参考文档

如果在终端中运行 docker image push 时按 CTRL-C 中断该进程,推送操作会被终止。

推送过程中会显示进度条,显示的是未压缩的镜像大小。实际上传的数据会在发送前被压缩,因此进度条所显示的大小并不等于实际上传的数据量。

镜像仓库的凭据通过 docker login 命令进行管理。

默认情况下,Docker 守护进程会同时推送 5 个镜像层。如果你处于低带宽网络环境中,这可能会导致超时问题。你可以通过修改守护进程的 --max-concurrent-uploads 选项来降低并发数。更多详情请参见 Docker 守护进程文档

选项

短选项
长选项
默认值
描述

-a

--all-tags

推送本地镜像的所有标签到仓库

--disable-content-trust

true

跳过镜像签名验证

--platform

(API 1.46+)推送特定平台的清单(manifest)作为单平台镜像。不会推送镜像索引(image index),这意味着其他清单(包括证明信息 attestations)不会被保留。 格式为 os[/arch[/variant]],例如 linux/amd64

-q

--quiet

静默模式,抑制详细输出

示例

将新镜像推送到仓库

首先,通过容器 ID(使用 docker container ls 查找)将容器提交为新镜像。注意:镜像名称只能包含小写字母、数字、连字符(-)、下划线(_)和点(.):

然后,将该镜像推送到仓库。假设你的私有仓库运行在主机 registry-host 的 5000 端口上。你需要先为镜像打上包含仓库地址和端口的标签:

验证是否成功:

你应该能看到 rhel-httpdregistry-host:5000/myadmin/rhel-httpd 两个镜像。


推送镜像的所有标签(使用 -a--all-tags

以下示例为同一镜像创建多个标签,并一次性全部推送到仓库:

查看当前镜像列表:

使用 --all-tags 选项推送所有标签:

输出示例:

最后更新于

这有帮助吗?