一、需求背景
部署IOMplus智能运维平台,部署IOMplus过程中会安装docker,docker会生成两个网段地址 (1)docker0的网段地址,默认是172.17.0.0/16 (2)docker_gwbridge的网段地址,默认是172.18.0.0/16 有些客户内网的地址恰好是172.18.0.0或者172.17.0.0的网段,这时候为了保证业务正式上线,建议修改docker地址,因为内网地址基本是规划好的,不能随意修改。比如:
二、修改步骤 注:修改docker地址,不需要关闭docker服务 2.1 未修改前的地址如下
2.2 我们先修改docker0的地址,这个地址修改比较容易,新增我们需要添加的网段,网段需要保证不能和客户内网环境冲突"bip": "12.17.10.1/24", cat /etc/docker/daemon.json
2.3 修改docker_gwbridge网段地址,这个很复杂,修改过程问题很多,需要大家多点耐心去解决它,我们可以先了解一下需要使用的命令 (1) docker network inspect 显示一个或多个网络的详细信息,比如网络连接的容器ID或者NAME (2) docker network disconnect 断开容器的网络,通过上一步查询的容器NAME,进行端开连接 (3) docker network rm 删除一个或多个网络,需要修改docker_gwbridge网段,所一需要删除,重新新建 (4) docker network create 创建一个网络,这里主要是重新创建docker_gwbridge 2.3.1 首先执行docker network inspect docker_gwbridge 查看谁在使用docker_gwbridge
2.3.2 执行docker network disconnect docker_gwbridge 相应的容器网络name,-f强制删除,不然会报错 报错如下,连接容器网络name没输入错误 注:新部署环境,不会有这么多的容器连接网络,我是已经部署了一些别的东西,只要是查出的NAME,都需要删除这是我所有删除的容器连接网络 2.3.3 检查是否全部端口容器使用的网络,执行2.3.1 的命令 docker network inspect docker_gwbridge
2.3.4 删除docker_gwbridge docker network rm docker_gwbridge
2.3.5 重新创建docker_gwbridge docker network create [root@iomplus ~]# docker network create --subnet 172.19.0.0/16 \ > --opt com.docker.network.bridge.name=docker_gwbridge \ > --opt com.docker.network.bridge.enable_icc=false \ > --opt com.docker.network.bridge.enable_ip_masquerade=true \ > docker_gwbridge
2.3.6 重启docker服务 systemctl restart docker 查看docker服务是否正常 systemctl status docker
三、验证地址是否修改成功 3.1 通过查看IP路由
3.2 通过查看IP地址
3.3 通过查看容器网络连接信息 docker network inspect docker_gwbridge 特别注意:修改虚拟机docker地址前,虚拟机快照,以免出现问题,修改docker地址过程不会一帆风顺的,需要有耐心去解决问题。 |