首页/云/Docker 容器速查/docker push --all-tags 批量推送标签
镜像与构建107 条

docker push --all-tags 批量推送标签

把同一仓库下的多个本地标签一次性推送到远端,适合 CI 同时发布精确版本号、次版本号与 latest 的组合。

Docker 容器速查云更新于 2026-10-13

命令是干什么的

docker push --all-tags 把一个仓库下的多个本地标签一次性推送到远端,只在按仓库名(不带标签)调用时有效。常见用途是发布时同时维护精确版本号、次版本号与 latest 这几个标签:镜像只构建一次,用 docker tag 打上多个标签,再一条命令全部推送,减少逐个 push 造成的遗漏。

基本信息

用途一次推送同一仓库下的全部本地标签
语法docker push --all-tags 仓库名(不带标签)
前提本地已对目标标签执行过 docker tag
核对方式docker buildx imagetools inspect 镜像
注意只会推送本地确实存在的标签

典型使用场景

  • 发布流水线同时更新 1.4.2、1.4 与 latest 三个标签
  • 多架构镜像构建完成后统一推送各标签
  • 补推遗漏:上次发布少推了一个标签,重新做一次批量推送
  • 镜像仓库迁移时批量同步本地标签
  • 回滚后把旧版本标签重新推送覆盖滚动标签

多标签发布

多标签发布
docker build -t app/web:1.4.2 .                                  # 只构建一次
docker tag app/web:1.4.2 registry.example.com/team/app/web:1.4.2
docker tag app/web:1.4.2 registry.example.com/team/app/web:1.4
docker tag app/web:1.4.2 registry.example.com/team/app/web:latest
docker push --all-tags registry.example.com/team/app/web          # 一次推送三个标签
docker buildx imagetools inspect registry.example.com/team/app/web:1.4.2   # 核对远端摘要

操作与作用

操作作用注意
docker tag 本地镜像 远端标签给同一镜像打多个标签标签要包含完整仓库地址
docker push --all-tags 仓库推送该仓库下全部本地标签只推本地存在的标签
imagetools inspect查看远端标签与摘要确认各标签指向同一镜像
docker image ls核对本地标签清单推送前先自查,避免推错仓库
多个标签指向同一份层数据时,远端只保存一份,不必担心重复占用存储空间。
批量推送不会提示「某个标签本地不存在」,少打了一个标签时命令依然成功,因此发布后要核对远端标签清单。
多个标签指向同一镜像时远端层数据只存一份,后续推送不会重复上传已存在的层,耗时主要取决于新增内容。

易错点

  • 本地忘记给某个标签执行 tag:批量推送不会报错,只是少推一个标签,需要靠事后核对才发现
  • 把 --all-tags 写在镜像名之后:它是 pull/push 的参数,位置写错会被当成参数错误
  • 仓库名写错就推送:镜像被推到意料之外的路径,推送前先用 docker image ls 核对完整标签
  • 长期依赖 latest 做回滚:latest 是可移动标签,回滚应使用具体版本标签或内容摘要

数据来源与参考

  • Docker 官方 CLI 参考:docker push 的 --all-tags(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌