docker默认网段和主机网段冲突解决

Posted yinliang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker默认网段和主机网段冲突解决相关的知识,希望对你有一定的参考价值。

   一、 docker默认网卡docker0 172.17.0.0可能会与主机冲突,这时候需要修改docker默认分配的网段

1、修改/etc/docker/daemon.json文件,加入以下代码

{
"default-address-pools":
[
{"base":"172.100.0.0/16","size":24}
]
}

其中上面的172.100.0.0/16是自定义的网段地址

2、删除docker0

ip link delete docker0

3、重新启动docker

service stop docker
service start docker

4、查看docker现有的ip网段

技术图片

 

 从上面可以看到网络段位已经改过来了

二、 如果用 docker-compose启动,并且 docker-compose.yml有指定network,在启动过程同样会建立172.17.0.0类似的网络地址,可能还是会与主机冲突,这时候我们使用以下方法修改默认的网段

1、我们查看当前有docker建立的网络名称

docker network list

技术图片

 

从上面可以看出docker建立了3个虚拟网卡,分别为app_app_network、app-default、bridge,其中 app_app_network、app-default是docker-compose启动后建立的,我们只需要修改这2个网络分配的网络地址即可

2、停止并删除现有的docker容器

docker stop $(docker ps -aq)
docker rm $(docker ps -aq)

 

3、删除上面的app_app_network、app-default

docker network remove app_default
docker network remove app_app_network

4、为上面虚拟网卡重新指定网段

docker network create --driver=bridge --subnet  172.110.0.0/23 app_default
docker network create --driver=bridge --subnet  172.120.0.0/23 app_app-network

 

5、查看现有的网卡地址

ifconfig

技术图片

 

 从上面我们可以看到docker网卡的网段已经改过来了

 

以上是关于docker默认网段和主机网段冲突解决的主要内容,如果未能解决你的问题,请参考以下文章

更改docker默认网段

docker-compose创建的网段与内网冲突时的解决方法

docker0网卡down影响

Docker CentOS 网段与公司网段冲突

Dockerdocker-compose 自动创建的网桥与局域网冲突解决方案

Docker--------修改Docker0网桥默认网段