要将 Docker 的默认网络子网从 172.17.0.0/16
更改为 10.10.10.0/24
,你需要修改 Docker 的 daemon.json
配置文件。以下是具体步骤:
一、编辑 Docker 的 daemon.json
配置文件
- 创建或编辑
/etc/docker/daemon.json
文件:
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
- 添加或更新配置以指定新的网络子网:
{
"bip": "10.10.10.1/24"
}
bip
参数指定了 Docker 的默认桥接网络的 IP 地址和子网掩码。
二、重新启动 Docker 服务
- 重新加载并重启 Docker 服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
三、验证网络配置
- 检查 Docker 网络配置:
docker network inspect bridge
你应该能看到类似下面的输出,显示新的子网配置:
注意事项
- 影响运行中的容器:更改默认网络配置会影响当前运行的容器。建议在更改前停止所有运行中的容器,或者在非生产环境中进行测试。
- 防火墙和路由设置:如果你的网络配置涉及防火墙或特定的路由规则,请确保这些规则在更改后也得到了相应的更新。
示例脚本
以下是一个自动化的脚本示例,可以帮助你完成这些步骤:
#!/bin/bash
# 创建 Docker 配置目录(如果不存在)
sudo mkdir -p /etc/docker
# 创建并编辑 daemon.json 文件,配置新的网络子网
sudo cat > /etc/docker/daemon.json <<-'EOF'
{
"bip": "10.10.10.1/24"
}
EOF
# 重新加载并重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
# 检查 Docker 网络配置
docker network inspect bridge
运行上述脚本后,Docker 的默认网络子网将被更改为 10.10.10.0/24
。