【云原生技术】用 `“bip“` 把 Docker 的默认网段(原本是 188.17.0.0/16)改成 **任何本机未占用的私有网段

"bip" 是 Docker 守护进程 (dockerd) 的 Bridge IP 参数。
它告诉 Docker:

• “把 docker0 这张网桥接口的地址设成 X.X.X.X/YY”;
• “所有基于 bridge 网络驱动的新容器,都从这个网段里分配 IP”。

也就是说,你可以用 "bip" 把 Docker 的默认网段(原本是 188.17.0.0/16)改成 任何本机未占用的私有网段,从而避免与公司真实网络冲突。

为什么文档里示范 188.31.0.1/16

  1. 188.16.0.0/12 整段(18.16.0.0–18.31.255.255)属于 RFC-1918 私有地址,可以安全地在内网使用;
  2. 很多企业网实际只占用其中一小部分(例如 188.17 或 188.20),把 Docker 调整到 最尾段 188.31.0.0/16 通常不与现网重叠;
  3. 只是示例!你可以按下表任选一段真正“空闲”的网段替换:

可选示例(任选其一,不要全抄)
• 10.83.0.1/16
• 10.201.0.1/24
• 192.118.220.1/24
• 188.30.0.1/16
关键原则:确保整段网段在本机的路由表里未出现,也未被公司核心路由规划到其他地方

————————————
如何确定“哪段网段是空闲的”
————————————

  1. 列出现有路由 / 接口地址

    ip addr | grep -E "inet "
    ip route
    

    把所有出现的网段抄下来,避免冲突。

  2. 向网络/运维确认公司内部已分配的网段清单;或者随便挑一段 10.x/192.168.x 自测能否 ping 通外部设备。

————————————
完整示例:修改 Docker 网段
————————————

  1. 创建(或编辑)/etc/docker/daemon.json

    {
      "bip": "188.31.0.1/16",
      "default-address-pools": [
        { "base": "188.31.0.0/16", "size": 24 }
      ]
    }
    

    "bip" 控制 docker0
    "default-address-pools" 控制你以后用 docker network create 新建的桥接网络,防止它们又跑去用 188.17。

  2. 重启服务

    sudo systemctl restart docker
    
  3. 验证

    ip addr show docker0          # 应显示 188.31.0.1/16
    ip route get 188.17.100.193   # 再次检查路由,确认走 eth0/gateway 而非 docker0
    
  4. 如果宿主机运行着旧容器,它们会在 Docker 重启时被“孤儿网络”回收;若仍保留须执行 docker network prune 或重新创建。

————————————
常见问答
————————————
Q1. 只写 "bip" 不写 "default-address-pools" 行不行?
A1. 可以,但将来你手动 docker network create 时,Docker 可能又随机挑回旧段(188.17),再次撞网段;加一行地址池可一次性根治。

Q2. 改完为什么还冲突?
A2. 多检查:
• 修改后是否真正 systemctl restart docker 成功;
• 旧容器自带的自定义网络是否仍用原网段,可 docker network ls / inspect 并删除后重建;
• 如果你用的是 containerd / Kubernetes,需在其 CNI 或 containerd 配置里同步替换网段。

Q3. Kubernetes 集群用 CNI (Calico/Flannel) 时还需要 "bip" 吗?
A3. 是的,只要节点本身跑 Docker(或 containerd 使用 Docker 网段),就需要避免 docker0 冲突;CNI Pod 网段与 docker0 网段可并存,只要不重叠即可。

简而言之:
"bip": "188.31.0.1/16" 只是示例;
• 找一段与公司网络、VPN、Pod 网络都不重叠的私有地址,填进 "bip" 即可;
• 重启 Docker,冲突问题迎刃而解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿寻寻

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值