docker network inspect xxx查看docker网络关联容器
目的
在docker环境下,docker network ls下,如何查看网络和容器的关联关系?
env
- docker
- network-bridge-mode
步骤
1.使用 docker network inspect 就能看到关联容器
docker 的网络模型本身就带着一点“量子纠缠”的味道:一个网络只要有容器加入,元数据里都会留下痕迹。inspect 输出里就藏着你要的关联信息。
1.1.核心字段:Containers
在 docker network inspect 的 JSON 结果中,有一个关键节点:
1 | "Containers": { |
这个 Containers 字段列出的所有容器 ID,就是当前网络的成员。Docker 会记录每个容器在此网络中的 endpoint。
你可以直接过滤:
1 | docker network inspect 9397a5596dbf -f '{{json .Containers}}' |
如果要更直观地列出容器名:
1 | docker network inspect 9397a5596dbf -f '{{range $k,$v := .Containers}}{{$v.Name}} {{end}}' |
2.基于容器 ID 再查询更多信息(可选)
假设 inspect 输出里看到一个容器 ID:
1 | docker inspect <container_id> --format '{{.Name}}' |
或者一次性列出全部容器名和ID:
1 | docker network inspect 9397a5596dbf \ |
3.可视化流转结构
下面用一个通用结构图展示“网络”和“容器”之间的关联方式:
graph LR
NET[Docker Network: 9397a5596dbf]
C1[Container A]
C2[Container B]
C3[Container C]
NET --> C1
NET --> C2
NET --> C3
网络只是一张“交换机级别的虚拟世界底图”,而容器是接上去的节点。inspect 能让你窥见整个小宇宙结构。