Docker 服务启动后,内核层会自动创建一个名为 docker0 的网桥接口。这个网桥充当了本地主机与所有容器之间的桥梁,将容器流量路由到物理网卡上。默认情况下,docker0 会分配一个特定的私有网段(通常是 172.17.0.0/16),其 MTU 值一般跟随宿主机的网络环境,默认为 1500 字节。
在某些场景下,比如宿主机已有固定网段规划,或者需要避免容器网段与局域网其他设备冲突时,我们就需要手动指定 docker0 的 IP 和子网掩码。这需要在 Docker 启动阶段进行配置,而不是在运行时动态修改。
具体操作是通过编辑 /etc/docker/daemon.json 配置文件来实现的。我们需要添加 bip 字段来定义网桥的 IP 地址及掩码。注意,这里填写的地址绝对不能与宿主机所在的物理网段重叠,否则会导致路由混乱,甚至让机器无法联网。
以下是具体的操作步骤:
首先,打开配置文件。
vi /etc/docker/daemon.json
如果文件不存在,可以新建。然后加入如下内容,示例中将网桥 IP 设置为 192.168.100.1/24:
{
"bip": "192.168.100.1/24"
}
保存退出后,别忘了重启 Docker 服务使配置生效。
systemctl restart docker
重启过程中,现有的容器连接可能会短暂中断。如果是通过 SSH 远程管理服务器,请务必确认新的网络配置不会切断你的连接通道,建议先在本地终端操作或做好回退准备。配置完成后,可以使用 ip addr show docker0 命令验证新的 IP 是否已应用。

