如何修改 Docker 网桥默认 IP

当用户网络的网段和 Docker 创建的容器的网段相同时,有可能不能正常的访问容器所运行的服务,这个时候就需要修改我们 Docker 容器默认的网段。

因为 Docker 版本不同,所以有不同修改的方式。

Docker 版本 < 18

Docker 修改 docker0 网桥的默认IP

  • 停止并且删除正在使用 docker0 网桥的所有容器,记得提前备份

  • 修改配置文件中的 bip 字段的值与当前用户网络不在同一网段

  • vim /etc/docker/daemon.json

{
    "bip": "10.200.0.1/24"
}
  • 使之生效的命令如下:
systemctl stop docker  #停止 Docker 服务
ip link set dev docker0 down #关闭 docker0 网络
brctl delbr docker0 #删除 docker0 网络
systemctl start docker #开启 Docker 服务

修改 docker 自定义网桥网段

  • 停止并删除使用自定义网桥的所有容器

  • 删除网桥: docker network rm <network name>

  • 修改 docker-compose 中的网桥配置

networks:
  default:
    driver: bridge
    ipam:
      config:
        - subnet: 10.201.0.0/16
  • 执行 docker-compose up -d 重新启动容器

Docker 版本 18+

  • 停止并删除使用自定义网桥的所有容器

  • 删除网桥: docker network rm <network name>

  • 修改 docker 配置文件

  • vim /etc/docker/daemon.json

{
    "bip": "10.200.0.1/24",
    "default-address-pools": [
        {
            "base": "10.201.0.0/16",
            "size": 24
        }
    ]
}
  • 重新启动 docker
@levi
加入
更多来自 Levi