Docker-Compose的地址與公司網絡沖突


在上一次安裝了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文件中指定了網絡

version: '3'

services:

  # rabbitmq ***********************************
  rabbitmq:
    image: rabbitmq:management
    restart: always
    ports:
      - 5671:5671
      - 5672:5672
      - 4369:4369
      - 15671:15671
      - 15672:15672
      - 25672:25672
    hostname: rabbit
    environment:
      RABBITMQ_DEFAULT_VHOST: /
      RABBITMQ_DEFAULT_USER: admin
      RABBITMQ_DEFAULT_PASS: admin123
    volumes:
      - /root/data/rabbitmq:/var/lib/rabbitmq   
    networks:
      - custom_net    

networks:
  custom_net:
    external:
      name: mes_net       

 

 

 

最終,實現了指定的網絡

 

 

 

 

 

 

已經恢復了對服務器的訪問

 

 

 

 

 

 

 

 

參考地址:https://docs.docker.com/compose/compose-file/#network-configuration-reference

參考文章:《https://blog.csdn.net/gezhonglei2007/article/details/51627969


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM