同一個宿主機中的兩個docker容器之間通信

問題描述:

  1. 同一個華爲雲宿主機上, 兩個docker容器,分別是django和mysql, django通過公網IP訪問mysql,運行正常.
  2. 電腦本地 django容器 使用 內部IP 訪問 本地服務器上 的docker mysql容器, 運行正常.
  3. 本地服務器 虛擬機上,django使用內部IP訪問mysql,不成功,報錯如圖.
    在這裏插入圖片描述

解決過程:

感謝這位大神, 重點參考文章

  1. 首先,django 容器在華爲雲是完全可以跑起來的, 說明代碼沒有問題
  2. 其次, mysql 數據正常
  3. 使用命令 docker inspect mysql 檢查 mysql
    在這裏插入圖片描述
  • 從圖中可以看到GetwayIPAddress, 優先使用IP地址訪問, 訪問不成功,
  • 切換爲Getway, 訪問成功,
  1. 看過參考文章後, 測試結果
  • 接受訪問的docker 提供的是mysql服務,
  • 測試1: 將django.settings.pyDATABASES中的 HOST,改爲:172.17.0.2 PORT改爲: 3306, 訪問成功
  • 測試2: 將django.settings.pyDATABASES中的 HOST,改爲:172.17.0.1 PORT改爲: 3333, (此端口是中docker run -p 3333:3306 -name mysql), 訪問成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章