【docker常用命令系列】Docker Push语法用法示例详解

本文详细介绍了Docker的push命令,包括如何将镜像上传到注册表以实现镜像共享、版本控制、备份及并发上传的最佳实践。还提供了示例和选项说明,如--all-tags用于推送所有标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker push语法用法示例详解

将镜像上传至注册表。以下是一些推送新镜像常见原因:

  1. 共享镜像:通过将镜像推送到注册表,其他团队成员或开发者可以轻松地获取并使用您创建的镜像。这样可以提高团队协作效率,并确保所有人都在使用相同的基础镜像。
  2. 便于部署:将镜像推送到注册表后,可以在不同的环境中使用相同的镜像进行部署。无论是在开发、测试还是生产环境,您都可以使用相同的镜像来确保应用程序的一致性和可靠性。
  3. 镜像版本控制:通过推送镜像到注册表,您可以方便地管理和跟踪镜像的版本。如果您在注册表上维护了多个标签,每个标签对应一个特定的镜像版本,您可以根据需要选择特定的版本进行部署和使用。
  4. 可靠性和备份:将镜像推送到注册表后,可以将注册表视为一个中心化的存储库,用于存储和管理镜像。这样,即使本地环境中的镜像丢失或损坏,也可以从注册表重新拉取并恢复镜像。

用法

docker push [OPTIONS] NAME[:TAG]

描述

使用 docker image push 命令将您的镜像共享到 Docker Hub 注册表或自托管注册表。

有关有效镜像和标签名称的更多信息,请参考 Docker image tag用法描述参数示例

通过在终端中运行过程中按下 CTRL-c 等方式终止 docker image push 进程,可以终止推送操作。

docker push 期间会显示进度条,显示未压缩大小。在发送之前,要推送的实际数据量将被压缩,因此上传的大小不会由进度条反映。

注册表凭据由 docker login 管理。

并发上传

默认情况下,Docker 守护程序每次会推送镜像的五个层。如果您的带宽较低,可能会导致超时问题,您可能需要通过 --max-concurrent-uploads 守护程序选项来降低这个数量。有关更多详细信息,请参见守护程序文档。

选项

选项简写默认值描述
–all-tags-a将镜像的所有标签推送到仓库
–disable-content-trusttrue跳过镜像签名
–quiet-q禁止冗长输出

示例

将新镜像推送到注册表

首先通过找到容器ID(使用 docker container ls)并将其提交为新镜像名称来保存新镜像。请注意,命名镜像时只允许使用 a-z0-9-_.

docker container commit c16378f943fe rhel-httpd:latest

docker container commit用法示例
现在,使用镜像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-httpdregistry-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 tag用法
现在,镜像已经有多个名称的标签:

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

推送引用到仓库 `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:

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigDataMLApplication

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值