在运维工作中,docker 如何查看网络?

在 Docker 运维工作中,查看网络信息主要通过以下命令实现:


1. 查看所有 Docker 网络列表

docker network ls

输出示例

NETWORK ID     NAME      DRIVER    SCOPE
a1b2c3d4e5f6   bridge    bridge    local
f1e2d3c4b5a6   host      host      local
1234567890ab   none      null      local
my-network     custom    bridge    local
  • 默认网络bridge(默认网桥)、host(共享主机网络)、none(无网络)。
  • 自定义网络:用户创建的网络(如 my-network)。

2. 查看网络详细信息

docker network inspect <网络名称或ID>

示例

docker network inspect bridge

输出内容

  • 子网和网关"Subnet": "172.17.0.0/16", "Gateway": "172.17.0.1"
  • 已连接的容器"Containers" 字段列出所有关联容器及其 IP 地址。
  • 配置细节:包括 DNS 设置、驱动选项等。

3. 查看容器网络信息

docker inspect <容器名称或ID> | grep -i "Network"

或直接提取网络配置:

docker inspect -f '{{json .NetworkSettings.Networks}}' <容器名称或ID> | jq

输出示例

{
  "bridge": {
    "IPAMConfig": null,
    "IPAddress": "172.17.0.2",
    "Gateway": "172.17.0.1",
    "NetworkID": "a1b2c3d4e5f6"
  }
}

4. 查看容器网络端口映射

docker port <容器名称或ID>

输出示例

80/tcp -> 0.0.0.0:8080

显示容器内部端口到宿主机的映射关系。


5. 查看容器内部网络接口

进入容器内部查看:

docker exec -it <容器名称或ID> ip addr  # Linux 容器
docker exec -it <容器名称或ID> ifconfig # 旧版 Linux
docker exec -it <容器名称或ID> netsh interface ip show config # Windows 容器

6. 查看 Docker 主机网络接口

Docker 会在宿主机创建虚拟接口(如 docker0):

ip addr show docker0  # Linux
ifconfig docker0      # macOS 或旧版 Linux

关键接口

  • docker0:默认网桥的宿主机接口。
  • veth*:容器与宿主机连接的虚拟网卡对。

7. 查看 DNS 配置

docker network inspect <网络名称> | grep -i "dns"

或查看容器内部的 /etc/resolv.conf

docker exec -it <容器名称或ID> cat /etc/resolv.conf

8. 查看网络驱动信息

docker info | grep -i "network"

输出示例

 Network: bridge host ipvlan macvlan null overlay

总结命令速查表

场景 命令
列出所有网络 docker network ls
查看网络详情 docker network inspect <网络名>
查看容器网络配置 docker inspect <容器名>
查看容器端口映射 docker port <容器名>
进入容器检查网络 docker exec -it <容器名> ip addr
检查宿主机 Docker 接口 ip addr show docker0

通过这些命令,您可以全面掌握 Docker 网络的状态、连接关系和配置细节。

posted @ 2025-07-23 10:13  天道酬勤zjh  阅读(135)  评论(0)    收藏  举报