admin 管理员组

文章数量: 1184232

一、docker默认网卡docker0默认的网段为172.17.0.0/16

某些企业下可能规划私网地址与docker0默认网段冲突,就会导致请求主机发送数据包,流量转发不出去,导致网络访问出现异常。

1、现实情况企业网络一般不会重新规划,只能将docker0分配的默认网段修改。

修改/etc/docker/daemon.json (如果没有此配置文件的话,新建一个即可)

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

这里的172.100.0.0/16为你要修改的新的网段,只要不与请求主机网段冲突即可。

配置文件格式一定要对,否则重启docker会出现问题。

这里我分享一个daemon.json的配置文件,防止大家因为格式问题出现错误

提取码: 0c9k

直接将下载的配置文件,通过ftp上传到服务器上即可。

2、删除docker0

ip link delete docker0

3、重新启动docker

service stop docker(systemctl stop docker)
service start docker(systemctl start docker)

4、查看docker现有的ip网段

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

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

docker network list

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.150.0.0/24 app_default
docker network create --driver=bridge --subnet  172.160.0.0/24 app_app-network

5、查看现有的网卡地址

ifconfig

从网卡信息上来看,这里的docker网卡也已经改过来了。

希望可以解决朋友们的问题,这个出现的次数还是很多的。

本文标签: 默认网段 冲突 系统