一、 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網卡的網段已經改過來了