Skip to main content

Docker 修改 Docker0 网桥默认网段

1. 背景

Docker 服务启动后,默认会创建一个名为 docker0 的网桥(其上有一个内部接口 docker0),它在内核层连通了其他的物理或虚拟网卡,从而将所有容器和本地主机都放到同一个物理网络中。

Docker 默认指定了 docker0 接口的 IP 地址和子网掩码,使主机和容器之间可以通过网桥相互通信。此外,Docker 还指定了 MTU(最大传输单元),通常是 1500 Bytes,或者使用宿主主机网络路由支持的默认值。这些值都可以在 Docker 服务启动时进行配置。

2. 默认 docker0 网桥信息

默认情况下,Docker 创建的 docker0 网桥信息如下:

  • IP 地址:通常为 172.17.0.1
  • 子网掩码:通常为 255.255.0.0/16
  • MTU:通常为 1500 Bytes

3. 修改步骤

要修改 docker0 网桥的默认网段,请按照以下步骤操作:

  1. 编辑或创建配置文件

    编辑或创建 /etc/docker/daemon.json 文件。如果该文件不存在,请自行创建。

    {
    "bip": "192.168.0.1/24"
    }

    在此示例中,我们将 docker0 网桥的 IP 地址设置为 192.168.0.1,子网掩码为 255.255.255.0(即 /24)。

  2. 重启 Docker 服务

    使用以下命令重启 Docker 服务以应用更改:

    sudo systemctl restart docker
  3. 验证新的网段配置

    使用以下命令查看 docker0 网桥的新网段配置:

    ip a

    你应该能看到 docker0 网桥的 IP 地址已更改为你指定的值。

4. 注意事项

  • 修改 docker0 网桥的 IP 地址和子网掩码时,请确保新配置不会与其他网络冲突。
  • 如果你在多台主机上运行 Docker,并且这些主机通过网络通信,请确保它们的 docker0 网桥配置一致,以避免网络问题。
  • 修改 docker0 网桥配置可能会影响现有容器的网络连接,请谨慎操作。

5. 参考资料