首页/云/Docker 容器速查/docker compose pull / push 镜像流转
Compose 编排55 条

docker compose pull / push 镜像流转

按 compose 文件批量拉取或推送服务镜像:部署前 pull 保证拿到远端最新镜像,发布后 push 把本地构建推回仓库。

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

命令是干什么的

docker compose pull 按编排文件里声明的镜像批量拉取,docker compose push 则把本地标签批量推送到远端仓库。部署前先 pull 能确保拿到远端最新镜像,本地构建完成后 push 可以把产物推回仓库。两者都支持指定服务名做局部操作,避免无关镜像来回传输。

基本信息

用途按 compose 文件批量流转镜像
语法docker compose pull / push [服务…]
pull 常用参数--ignore-pull-failures、--policy missing
配套动作拉取后需要 up -d 才会用新镜像重建容器
push 前提本地已存在完整的目标标签

典型使用场景

  • 部署前统一拉取全部服务镜像
  • 只更新个别服务:指定服务名做局部拉取
  • 本地构建完成后批量推送多服务镜像
  • 离线环境预先 pull,再分发到内网
  • 回滚前拉取指定版本标签

批量拉取与推送

批量拉取与推送
docker compose pull                          # 拉取全部服务镜像
docker compose pull --policy missing web      # 仅在本地缺失时拉取
docker compose pull --ignore-pull-failures    # 个别镜像失败不中断其余
docker compose push api worker                # 只推送指定服务的镜像
docker compose up -d                          # 拉取后重建容器,新镜像才生效

命令与参数

命令 / 参数作用注意
compose pull批量拉取镜像按文件中声明的标签拉取
--policy missing仅在本地缺失时拉取减少重复传输
--ignore-pull-failures忽略个别失败项失败项需要单独复核
compose push 服务…批量推送本地镜像标签必须包含完整仓库地址
pull 之后还需要 up -d 才会用新镜像重建容器;只拉取不重建,运行中的容器仍在跑旧镜像。
push 依赖本地已经存在对应标签,标签命名不完整时会被推到错误的仓库路径,推送前先用 docker image ls 核对。

常见配合方式

  • 部署脚本:先拉取再重建容器,两步都要判断退出码
  • 内网隔离环境:在可联网的机器上拉取,再用私有仓库转发
  • 多服务仓库:构建与推送只针对变更的服务名,减少传输量
  • 发布核对:推送后用镜像检查命令比对远端标签与摘要
把拉取与重建放在同一条流水线步骤里,可以避免「只拉了镜像却忘了重建容器」这类常见的漏步骤问题。

易错点

  • 以为 pull 就完成了更新:容器仍使用旧镜像,需要通过 up -d 触发重建
  • 用 latest 且远端摘要未变:up 时可能检测不到变化而跳过重建,固定版本标签更可控
  • push 前不核对标签:不完整的标签会被推到意料之外的仓库路径
  • 忽略拉取失败继续部署:运行阶段才暴露镜像缺失,回滚窗口被压缩

数据来源与参考

  • Docker 官方 CLI 参考:docker compose pull / push(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌