docker启动时默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,相当于将所有容器和其主机都放到同一个网络。但是部署在内网中的IP段存在有此网段的IP时,会导致冲突 1、使用宿主机的ip也会有是无效的。 2、只要docker启动,便会造成局域网内其它主机访问本机失效, 3、关闭docker后,本机便可访问. 以下我列出了两种解决方法,供大家参考
方法一:简单粗暴智能修改当前的bridge默认网段 docker默认的网段是172.17.0.0/16 1、首先停止docker 2、备份下文件 cp /etc/docker/daemon.json /etc/docker/daemon.json.bak 3、在文件里面加入一下网段信息 cat > /etc/docker/daemon.json << EOF{"bip": "100.10.10.1/24"}EOF 注意:这里按照所需的要求来修改 接下来检查一下我们修改是否生效 这里可以看到网段发生了变化
方法二:不影响服务的情况下修改docker网段1、安装bridge-utils工具 yum -y install bridge-utils.x86_64 2、停止docker服务 3、停止docker 虚拟docker0虚拟网桥 ip link set dev docker0 down 4、删除 docker 虚拟docker0虚拟网桥 5、清理Linux防火墙规则 iptables -t nat -F POSTROUTING 6、添加docker虚拟网桥 7、为docker0配置网络地址,这个地址在后面可以作为虚拟机的网关地 ip addr add 100.10.1.0/24 dev docker0 #设置你要修改为哪个网断,我修改的是100.10.1.0/24 8、启用刚新创建的docker虚拟网桥 |