直接用 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 后,输出分为两大部分:
注意:Client 和 Server 的 API version 不一致可能导致功能受限;Server 中的 containerd、runc 等版本也影响容器运行时行为。
不用手动复制粘贴,可用格式化参数或管道命令快速获取纯文本结果:
docker version --format '{{.Client.Version}}'
docker version --format '{{.Server.APIVersion}}'
docker version --format '{{.Server.Containerd.Version}}'
docker version --format '{{.Client.GoVersion}}'
这些格式化语法基于 Go template,支持嵌套字段访问,适合脚本集成或 CI/CD 中做版本校验。
Docker Compose 是独立组件,需单独检查其版本是否与当前 Docker 兼容:
docker-compose --version(输出形如 docker-compose version 1.29.2, build unknown)docker-compose --version | awk '{print $3}' | tr -d ','
docker compose version(注意无短横线),输出更简洁最新建议 Docker ≥ 20.10.0 配合 Compose ≥ 1.25.0 或 Compose V2,避免 version not supported 类报错。
容易混淆的几个情况:
docker --version 只显示 Client 主版本(如 Docker version 20.10.7),不反映 Server 或 API 状态docker version 能立刻暴露该问题