在上一次安裝了Docker后,Docker會默認創建一個網卡,指定其中的地址,這個生成的地址與默認的存在沖突,通過修改Docker的配置文件,已經順利將問題解決,請查看《Docker CentOS 網段與公司網段沖突》
在安裝了Docker后,使用Docker-Compose發布應用,一直都可以正常使用,使用一段時間后,在公司突然發現無法連接到服務器了!
這下有點慌了,正常來講,我安裝Docker時,已經正常的處理了IP地址的問題,怎么還會出現沖突呢?
通過查看服務器的現有網卡,可以看到,確實有172.18和172.17地址段的IP地址存在於服務器中
sudo ip addr
我想,明明我都設置了Docker的地址段,怎么還可以出現沖突?,然后我反復的實驗,使用Docker-Compose刪除后再次重建
sudo docker-compose stop sudo docker-compose rm
sudo docker-compose up -d
原因:
然后通過查看服務器地址的時候,有時會創建172.17、172.18、172.19、172.20等網段,就是說這個是隨機的,當正好創建的是沖突的網段,那就會導致服務器不可連接。
原因是,在Docker-Compose up -d這個命令運行的時候,會為系統創建一個網絡
參考地址:https://blog.csdn.net/gezhonglei2007/article/details/51627969
解決方法
2020-05-12 如果按以下的網絡進行處理,還是會有沖突,最終導致服務不可用,而且容易出現無法連接到服務器的情況
在首次運行容器前,先手動創建一個名為mes_net的Docker網絡,並且手動的指定它的子網地址為172.20.XXX.XXX網段
docker network create --driver=bridge --subnet=172.20.0.0/16 mes_net
經過調整,在Docker-Compose的yaml文件中指定了網絡
最終,實現了指定的網絡
已經恢復了對服務器的訪問
參考地址:https://docs.docker.com/compose/compose-file/#network-configuration-reference
參考文章:《https://blog.csdn.net/gezhonglei2007/article/details/51627969》