linux 一次性查看所有docker容器网络模式和端口映射
docker ps -q | xargs -n 1 docker inspect -f '{{.Name}} | 网络模式: {{.HostConfig.NetworkMode}} | IP: {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}} | 端口映射: {{.NetworkSettings.Ports}}'
- 查看单个容器网络模式
docker inspect -f '{{.Name}} {{.HostConfig.NetworkMode}}' <容器名或ID>
例子:
docker inspect -f '{{.Name}} {{.HostConfig.NetworkMode}}' mysql
输出: /mysql bridge
表示 mysql 用的是 bridge 网络。
- 一次性查看所有容器的网络模式 + IP + 端口映射
你可以直接运行:
docker ps -q | xargs -n 1 docker inspect -f '{{.Name}} | 网络模式: {{.HostConfig.NetworkMode}} | IP: {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}} | 端口映射: {{.NetworkSettings.Ports}}'
示例输出:
/sentinel-dashboard | 网络模式: bridge | IP: 172.18.0.5 | 端口映射: map[8080/tcp:[{0.0.0.0 8080}]]
/mysql8.0.42 | 网络模式: bridge | IP: 172.18.0.10 | 端口映射: map[3306/tcp:[{0.0.0.0 3308}]]
/rabbitmq | 网络模式: bridge | IP: 172.18.0.15 | 端口映射: map[]
这样你就能:
一眼看出谁是 host 模式,谁是 bridge 模式
容器在 Docker 网络中的 IP
宿主机端口映射情况
- 快速查看所有网络及容器分布
docker network ls
然后看某个网络的详细:
docker network inspect bridge
能看到每个容器的 IP 和连接状态。