要将 Docker 的默认网络子网从 172.17.0.0/16 更改为 10.10.10.0/24,你需要修改 Docker 的 daemon.json 配置文件。以下是具体步骤:

一、编辑 Docker 的 daemon.json 配置文件

  1. 创建或编辑 /etc/docker/daemon.json 文件:
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
  1. 添加或更新配置以指定新的网络子网:
{
  "bip": "10.10.10.1/24"
}

bip 参数指定了 Docker 的默认桥接网络的 IP 地址和子网掩码。

docker 网段和公司网络冲突时如何调整_json

二、重新启动 Docker 服务

  1. 重新加载并重启 Docker 服务:
sudo systemctl daemon-reload
sudo systemctl restart docker

docker 网段和公司网络冲突时如何调整_docker_02

三、验证网络配置

  1. 检查 Docker 网络配置:
docker network inspect bridge

你应该能看到类似下面的输出,显示新的子网配置:

docker 网段和公司网络冲突时如何调整_docker_03


注意事项

  • 影响运行中的容器:更改默认网络配置会影响当前运行的容器。建议在更改前停止所有运行中的容器,或者在非生产环境中进行测试。
  • 防火墙和路由设置:如果你的网络配置涉及防火墙或特定的路由规则,请确保这些规则在更改后也得到了相应的更新。

示例脚本

以下是一个自动化的脚本示例,可以帮助你完成这些步骤:

#!/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