一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Docker 信息查看如何通过 version 命令精准获取组件版本

时间:2026-09-02 20:39:47 编辑:袖梨 来源:一聚教程网

直接用 docker version 命令就能一次性看到客户端、服务端和底层组件的完整版本信息,比 docker --version 更全面;输出包含 Client 和 Server 两大部分,涵盖 Version、API version、Go 版本、Git commit、OS/Arch 及 containerd/runc/docker-init 等子组件版本,并支持通过 --format 参数精准提取指定字段。

直接用 docker version 命令就能一次性看到客户端、服务端和底层组件的完整版本信息,比 docker --version 更全面。关键是要会读输出结构、区分字段含义,并能按需提取特定值。

docker version 输出结构解析

执行 docker version 后,输出分为两大部分:

  1. Client:本地 Docker CLI 工具的版本,包括 Version(如 20.10.7)、API version(如 1.41)、Go 版本、Git commit 等
  2. Server:Docker 守护进程(daemon)的版本,同样含 Version、API version(含最小兼容版本)、OS/Arch、containerd/runc/docker-init 等子组件版本

注意:Client 和 Server 的 API version 不一致可能导致功能受限;Server 中的 containerd、runc 等版本也影响容器运行时行为。

精准提取指定组件版本号

不用手动复制粘贴,可用格式化参数或管道命令快速获取纯文本结果:

  1. 只取客户端主版本号:docker version --format '{{.Client.Version}}'
  2. 只取服务端 API 版本:docker version --format '{{.Server.APIVersion}}'
  3. 提取 containerd 版本:docker version --format '{{.Server.Containerd.Version}}'
  4. 查看 Go 编译环境:docker version --format '{{.Client.GoVersion}}'

这些格式化语法基于 Go template,支持嵌套字段访问,适合脚本集成或 CI/CD 中做版本校验。

搭配 docker-compose version 协同验证

Docker Compose 是独立组件,需单独检查其版本是否与当前 Docker 兼容:

  1. 基础查看:docker-compose --version(输出形如 docker-compose version 1.29.2, build unknown
  2. 提取纯版本号:docker-compose --version | awk '{print $3}' | tr -d ','
  3. 新版 Docker Desktop 内置的 Compose V2 可用:docker compose version(注意无短横线),输出更简洁

最新建议 Docker ≥ 20.10.0 配合 Compose ≥ 1.25.0 或 Compose V2,避免 version not supported 类报错。

常见误判点提醒

容易混淆的几个情况:

  1. docker --version 只显示 Client 主版本(如 Docker version 20.10.7),不反映 Server 或 API 状态
  2. Mac/Windows 用户通过 Docker Desktop 安装时,Client 和 Server 通常同源,但升级不同步时仍可能版本不一致
  3. 某些 Linux 发行版仓库提供的 docker.io 包版本较旧(如 Ubuntu 20.04 默认为 19.03),docker version 能立刻暴露该问题
  4. API version 是向后兼容的关键指标,比如 Client API 1.41 能调用 Server API 1.12+,但无法使用 Server 1.42 新增接口

热门栏目