如何查看docker默认的网段的4种办法
在 Docker 中,默认的网段通常由 Docker 的桥接网络(bridge
)使用。Docker 默认会创建一个名为 bridge
的网络,分配给容器使用。
要查看 Docker 默认的网段配置,可以按照以下步骤操作:
方法 1:通过 docker network inspect
查看
-
执行以下命令查看默认的桥接网络:
docker network inspect bridge
-
输出中会显示类似以下内容:
[ { "Name": "bridge", "Id": "xxxxxxxxxxxxxxxxxxxxx", "Created": "2024-01-01T12:00:00.000000000Z", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "192.168.1.0/24", "Gateway": "192.168.1.1" } ] }, "Internal": false, "Attachable": false, "Containers": {}, "Options": { "com.docker.network.bridge.default_bridge": "true", "com.docker.network.bridge.enable_icc": "true", "com.docker.network.bridge.enable_ip_masquerade": "true", "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", "com.docker.network.bridge.name": "docker0", "com.docker.network.driver.mtu": "1500" }, "Labels": {} } ]
-
关键信息在
IPAM
部分:"Subnet": "192.168.1.0/24"
:这是默认桥接网络的网段。"Gateway": "192.168.1.1"
:这是默认网关。
方法 2:通过 docker network ls
查看所有网络
-
查看所有 Docker 网络:
docker network ls
示例输出:
NETWORK ID NAME DRIVER SCOPE 1f3c59f0dfc4 bridge bridge local 4ea6d1b0af57 host host local 97fb1f0f03f8 none null local
-
找到
bridge
网络的名称,然后使用docker network inspect bridge
查看其详细信息(参考方法 1)。
方法 3:查看 docker0
接口的网段
Docker 默认桥接网络使用的是 docker0
网络接口,可以直接查看 docker0
的配置。
-
使用以下命令检查
docker0
的网络信息:ip addr show docker0
-
示例输出:
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ab:cd:ef:01 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global docker0 valid_lft forever preferred_lft forever
inet 192.168.1.1/24
:显示默认网段为192.168.1.0/24
,网关为192.168.1.1
。
方法 4:查看 Docker 配置文件
默认网段配置也可以在 Docker 配置文件中找到。
-
检查 Docker 配置文件的路径(通常为
/etc/docker/daemon.json
):cat /etc/docker/daemon.json
-
如果配置文件中有类似以下内容:
{ "bip": "192.168.1.1/24" }
"bip"
表示默认的桥接网络网段。
如果文件中未指定,Docker 会自动分配默认的
192.168.0.0/16
网段。
总结
- 默认桥接网络的网段可以通过
docker network inspect bridge
或ip addr show docker0
查看。 - 如果需要修改默认网段,可以编辑
/etc/docker/daemon.json
并添加bip
配置,重启 Docker 服务生效:sudo systemctl restart docker