推荐通过修改 /etc/docker/daemon.json 中的 bip 字段配置 docker0 网桥子网(如 "bip": "192.168.100.1/24"),重启 docker 后生效;若需更换网桥名称,须手动创建网桥并配置 bridge 字段,但 bip 与 bridge 不可共存;生产环境应避免直接使用默认网桥,改用自定义 bridge 网络以支持 dns、静态 ip 和网络隔离。

配置 Docker 容器的默认网桥(docker0)参数,本质是修改 Docker 守护进程启动时对 docker0 网桥的初始化行为。它不通过 docker network 命令操作,而是通过 Docker daemon 配置文件或启动参数控制。
修改默认网桥子网和网关(推荐方式)
最常用且安全的做法是通过 Docker 的 daemon 配置文件指定 docker0 的 IP 和子网,避免与宿主机或其他容器网络冲突。
- 编辑配置文件:
/etc/docker/daemon.json(若不存在可新建) - 添加以下内容(示例:将默认网桥设为
192.168.100.1/24):
- 保存后重载配置并重启 Docker 服务:
sudo systemctl restart docker
- 验证是否生效:
ip addr show docker0应显示192.168.100.1/24 - 此后新启动的、未指定
--network的容器,会自动从该子网获取 IP(如192.168.100.2),并以192.168.100.1为默认网关
更换默认网桥名称(进阶需求)
如需把默认网桥从 docker0 改为自定义名称(如 br-docker),需配合系统网桥创建与 daemon 参数:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
- 先用系统命令创建持久化网桥(如使用
ip或bridge-utils):
sudo ip addr add 172.20.0.1/16 dev br-docker
sudo ip link set br-docker up
- 在
/etc/docker/daemon.json中配置:
- 注意:
bip和bridge不能同时设置;若指定了bridge,Docker 不会自动配置其 IP,需提前手动配好 - 重启 Docker 后,
docker0不再创建,所有默认网络流量走br-docker
为什么一般不直接动默认网桥?
默认 docker0 网桥存在明显限制,生产环境应尽量规避:
- 容器间无法通过名字通信(无内建 DNS)
- IP 分配不可控,易与宿主机局域网冲突(尤其默认
172.17.0.0/16) - 无法设置静态 IP(
--ip在默认 bridge 下无效) - 网络策略、隔离性弱于自定义桥接网络
因此,更推荐的做法是:保留默认网桥用于简单测试,生产服务统一使用 docker network create --driver bridge 创建的自定义网络——它支持名字解析、子网定制、容器热插拔等关键能力。










