docker info 是什么
输出容器引擎与宿主环境的概况:引擎版本、存储驱动、日志驱动、数据根目录、资源组模式、容器与镜像数量、插件加载情况与警告信息。它相当于动手排障前的环境摸底,很多看似奇怪的行为在这里能直接找到解释。
基本信息
| 语法 | docker info [选项] |
|---|---|
| 输出结构 | 分客户端与服务端两段,排查通常只看服务端部分 |
| 关键字段 | 引擎版本、存储驱动、日志驱动、数据根目录、资源组模式 |
| 警告段落 | 列出环境隐患,例如资源组模式不理想、交换分区限制等 |
| 格式化 | 支持模板取值,脚本里可只取关心的字段 |
典型使用场景
- 新机器上线前摸底:确认版本、驱动与内核配置是否符合要求
- 排查磁盘增长:找到数据根目录位置,把容量监控对准正确路径
- 排查日志异常:确认日志驱动的默认值,解释为什么取不到日志
- 性能问题定位:确认存储驱动类型,判断是否与文件系统性能有关
- 问题上报时提供环境信息:一段输出就能说明引擎与宿主的基本情况
常用示例
常用示例
docker info | head -40 # 概览,内容较长先看开头
docker info --format '{{.ServerVersion}}' # 只看引擎版本
docker info | grep -i -A3 warning # 看警告段落
docker info --format '{{.Driver}} {{.LoggingDriver}} {{.DockerRootDir}}' # 三个关键值
docker version # 客户端与服务端版本对照关键字段读法
| 字段 | 含义 | 排查用途 |
|---|---|---|
| 引擎版本 | 服务端版本号 | 新特性是否可用、已知缺陷是否已修复 |
| 存储驱动 | 镜像与容器分层的实现方式 | 空间统计与文件系统行为差异的来源 |
| 日志驱动 | 默认日志去向 | 解释为什么读不到标准输出 |
| 数据根目录 | 镜像、容器、卷的落盘位置 | 磁盘监控与容量规划要对准这里 |
| 资源组模式 | 资源限制的实现模式 | 内存与处理器限制是否真正生效 |
| 容器与镜像数量 | 当前对象规模 | 与占用统计对照,判断是否有大量残留 |
| 警告段落 | 环境隐患提示 | 上线前逐条确认是否需要处理 |
摸底时常查的几项
- 内核版本与资源组模式是否匹配,直接影响资源限制能否生效
- 存储驱动是否支持当前文件系统,避免空间统计与预期不符
- 默认日志驱动是否为本地文件,决定了能不能直接用命令取日志
- 数据根目录所在分区余量,空间不足会引发一连串运行失败
- 加速地址与仓库配置是否生效,决定拉取速度与可用性
警告段落比数字更值得看:交换分区限制、资源组模式等问题不会立刻报错,却会在设置资源限制或压力测试时以奇怪方式暴露出来。
数据根目录决定了磁盘增长位置。容量规划与监控如果对准了错误的路径,会出现「磁盘满了但监控没报警」的情况。