首页/云/Docker 容器速查/docker version 查看客户端与引擎版本
基础命令50 条

docker version 查看客户端与引擎版本

分别显示 client 与 server(守护进程)版本及 API 版本;Server 段能否输出,也是判断本机 daemon 是否可达的快捷方式。

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

docker version 是什么

docker version 分两块打印客户端与服务端(守护进程)的信息,包括各自的版本号与 API 版本。它同时是最快的连通性自检:Client 段能打出来而 Server 段报错,说明命令装好了但连不上 daemon。

基本信息

用途查看 CLI 与 daemon 版本、API 版本、运行平台
语法docker version [--format '{{.Server.Version}}']
关键字段Client.APIVersion 与 Server.APIVersion
连不上时Client 段照常打印,Server 段报 cannot connect
远程引擎DOCKER_HOST 或上下文指向远端时,看到的是远端的版本

典型使用场景

  • 排查命令不存在或参数不识别:确认本地 CLI 是不是太旧,缺少对应子命令
  • 看到 client version is too new 报错时,先比较两边 API 版本差多少
  • CI 构建机自检:确认跑的是预期版本,而不是镜像里顺手带进来的旧版
  • 查官方文档前先对版本:个别参数在不同小版本上的行为不一致
  • 上报问题时一次性收集环境信息,客户端、引擎、API 版本齐了才好判断

示例

示例
docker version                                    # 完整两块信息
docker version --format '{{.Server.Version}}'     # 只取服务端版本
docker version --format '{{.Client.Version}}/{{.Server.Version}}'
docker info --format '{{.ServerVersion}} {{.Driver}}'   # 顺带确认存储驱动

Server 段关键行

字段含义异常时的表现
Version守护进程版本过旧会缺少新语法与新特性支持
APIVersiondaemon 提供的 API 版本低于 CLI 期望时,新命令直接报版本过新
Go version编译引擎所用的 Go 版本排查运行时疑难问题时需要一并提供
OS/Arch引擎运行平台与架构确认没连错机器,也没把架构搞混
Experimental实验特性开关文档里标注实验的配置项要先确认这里是 true
用 Docker Desktop 或 DOCKER_CONTEXT 在多套引擎之间切换时,两边版本可能相差多个小版本;脚本里用到新字段前,先确认自己连的是哪一台。
临时设置 DOCKER_API_VERSION 去迁就旧 daemon 只是应急手段,长期使用会把真正的版本差距藏起来;正规做法是升级引擎或固定 CLI 版本。
Client 段来自本地二进制,Server 段来自守护进程上报的信息,两者版本不同本身是正常现象;只有当 API 版本差距大到新命令不被支持时才需要处理。

易错点

  • 报 cannot connect 时 docker version 仍会打印完整的 Client 段,只看前半段就以为环境正常是最常见的误判
  • CI 里用 latest 标签的构建镜像会让引擎与 CLI 版本随上游漂移,构建行为难复现,应当固定版本
  • DOCKER_HOST 或上下文指向远端时看到的不是本机引擎版本,排查前先 docker context show 确认目标
  • 容器内跑 docker version 看到的是宿主引擎版本(socket 挂在容器内),用来判断容器自身环境会得出错误结论

数据来源与参考

  • Docker 官方 CLI 参考:docker version(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌