network inspect 是什么
docker network inspect 展示网络的驱动类型、子网与网关,以及已接入的容器和各自地址。排查容器间连通性问题时,用它确认双方是否接在同一个网络上,比逐个查容器 IP 更直接。
基本信息
| 用途 | 查看网络配置与接入的容器列表 |
|---|---|
| 语法 | docker network inspect 网络名 [--format 模板] |
| 关键字段 | Driver、IPAM.Config(子网与网关)、Containers |
| scope 差异 | local 表示本机网络,swarm 类网络需加 --verbose 才列出各节点任务 |
| 相关命令 | docker network ls 列出全部网络 |
典型使用场景
- 排查容器间不通:确认双方是否在同一网络、是否同网段
- 确认子网是否与内网或 VPN 地址段重叠,这是接入办公网后的常见问题
- 查出哪个容器占用了某个地址,方便处理地址冲突与审计
- 核对 compose 项目网络的名称与成员,避免服务接错网络
- 变更网络配置前记录现状,作为回滚依据
- 确认网络驱动类型,判断连通与隔离行为是否符合预期
示例
示例
docker network ls # 先列出所有网络
docker network inspect app-net # 完整信息
docker network inspect app-net --format '{{json .IPAM.Config}}' # 只看子网与网关
docker network inspect app-net --format '{{range .Containers}}{{.Name}} {{.IPv4Address}}{{"\n"}}{{end}}'
docker network inspect bridge --format '{{.Driver}}' # 确认驱动类型关键字段怎么读
| 字段 | 含义 | 异常时的表现 |
|---|---|---|
| Name | 网络名 | compose 项目网络通常带项目名前缀 |
| Driver | 驱动类型(bridge、overlay 等) | 驱动不对时连通与隔离行为完全不同 |
| IPAM.Config.Subnet | 网段 | 与内网或 VPN 网段重叠会引发路由问题 |
| IPAM.Config.Gateway | 网关地址 | 网关冲突时容器出不了外网 |
| Containers | 接入的容器与地址 | 里面没有对方容器说明没接在同一网络 |
容器互 ping 不通时先看 Containers 列表:不在同一网络就谈不上互通;若按 IP 能通而按名字不通,问题只在名称解析上。
默认 bridge 网络包含所有未指定网络的容器,列表长且杂;自定义网络成员清晰,这也是日常建议用自定义网络的原因之一。
overlay 类网络里各节点上的任务接口默认不展开,加 --verbose 才能看到,排查跨节点问题时容易在这里误判。