Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法
目录
- 方法一:简单粗暴智能修改当前的bridge默认网段
- 方法二:不影响服务的情况下修改docker网段
docker启动时默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,相当于将所有容器和其主机都放到同一个网络。但是部署在内网中的IP段存在有此网段的IP时,会导致冲突
1、使用宿主机的ip也会有是无效的。
2、只要docker启动,便会造成局域网内其它主机访问本机失效,
3、关闭docker后,本机便可访问.
以下我列出了两种解决方法,供大家参考
方法一:简单粗暴智能修改当前的bridge默认网段
docker默认的网段是172.17.0.0/16

1、首先停止docker
systemctl stop 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服务
systemctl stop docker
3、停止docker 虚拟docker0虚拟网桥
ip link set dev docker0 down
4、删除 docker 虚拟docker0虚拟网桥
brctl delbr docker0
5、清理Linux防火墙规则
iptables -t nat -F POSTROUTING
6、添加docker虚拟网桥
brctl addbr docker0
7、为docker0配置网络地址,这个地址在后面可以作为虚拟机的网关地
ip addr add 100.10.1.0/24 dev docker0
#设置你要修改为哪个网断,我修改的是100.10.1.0/24
8、启用刚新创建的docker虚拟网桥
ip link set dev docker0 up
9、docker配置文件中追加参数
vim /etc/docker/daemon.json
{ “bip”: “100.10.1.0/24” }
10、重新加载某个服务的配置文件
systemctl daemon-reload
11、重启docker
systemctl restart docker
12、检查是否生效

这里我们看到docker0的网段又发生了变化
优点:上面这种情况,可以做到迁移docker的时候不改变虚拟网桥以及容器IP地址
上一篇:腾讯云服务器docker开启端口后无法访问的解决方法
栏 目:其它服务器
本文标题:Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法
本文地址:https://zz.feitang.co/server/29936.html
您可能感兴趣的文章
- 02-02hadoop动态增加和删除节点方法介绍
- 02-02干货 | Linux新手入门好书推荐
- 02-02linux系统下MongoDB单节点安装教程
- 02-02Linux下nginx生成日志自动切割的实现方法
- 02-02Centos 6中编译配置httpd2.4的多种方法详解
- 02-02CentOS7 下安装telnet服务的实现方法
- 02-02分布式Hibernate search详解
- 02-02Hadoop对文本文件的快速全局排序实现方法及分析
- 02-02CentOS6.3添加nginx系统服务的实例详解
- 02-02Hadoop编程基于MR程序实现倒排索引示例


阅读排行
推荐教程
- 12-07Tomcat启动报错:严重: Unable to process Jar entry [m
- 12-07解决tomcat启动报错:一个或多个listeners启动失败问题
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07Tomcat配置IPV6的实现步骤
- 12-07tomcat启动报错jar not loaded的问题
- 02-02CentOS7 下安装telnet服务的实现方法
- 12-11docker存储目录迁移示例教程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-07Tomcat部署war包并成功访问网页详细图文教程
- 01-07windows server 2008安装配置DNS服务器




