如何修改 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