docker 網(wǎng)絡(luò)沖突

使用 docker-compose 或者使用了docker network的同學(xué)經(jīng)常會(huì)發(fā)生這樣一件事情,當(dāng)compose或者 docker network create 后,突然間服務(wù)器就沒(méi)有反應(yīng)了,隨之而來(lái)的就是。

huangs-MBP:~ huangdehui$ ping 10.88.88.88
PING 10.88.88.88 (10.88.88.88): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3

整臺(tái)服務(wù)器,就直接從網(wǎng)絡(luò)中消失了。

解決方式
控制臺(tái)輸入

docker inspect --format='{{.Name}} - {{range.IPAM.Config}}{{.Subnet}}{{end}}' $(docker network ls --format='{{.ID}}')

得到以下信息,將docker的網(wǎng)橋地址全部打印出來(lái),找出會(huì)導(dǎo)致沖突的橋,我這里的情況是192.168.0.0/20這個(gè)橋沖突導(dǎo)致我失去對(duì)服務(wù)器的網(wǎng)絡(luò)訪(fǎng)問(wèn)。

bridge:172.30.0.0/24
docker_gwbridge:192.168.16.0/20
host:
ingress:10.0.0.0/24
mariadb_default:172.19.0.0/16
none:
portainer_agent_network:10.0.1.0/24
renren_tel_api_default:192.168.0.0/20
tel:172.22.0.0/16
tel_api_default:172.21.0.0/16

刪除該橋

[root@portal ~]# docker network rm renren_tel_api_default
renren_tel_api_default

避免下次再出現(xiàn)這樣的情況
進(jìn)入 /etc/docker

[root@portal docker]# tree /etc/docker
/etc/docker
├── daemon.json
└── key.json

daemon.json這個(gè)文件如果存在直接改daemon.json中的內(nèi)容,如果不存在 touch daemon.json,指定網(wǎng)橋的地址值,注意網(wǎng)段設(shè)置,避免它在出現(xiàn)會(huì)導(dǎo)致沖突的ip。

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

然后重啟服務(wù)器,重啟docker,即可。

補(bǔ)充一個(gè)實(shí)用命令,查看所有容器IP

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容