docker是一款比較好用的容器工具,可以快速的把項目進行部署,不受操作系統的限制,有一些純內網項目中,不方便搭建對應環境而且環境也比較麻煩的時候,我們公司一般會采用docker進行快速部署,今天使用docker部署項目時,執行對應的mysql數據導入工具出現了下面的提示。
![SQLSTATE[HY000] [2002] Connection refused報錯 SQLSTATE[HY000] [2002] Connection refused報錯](https://sheji.cnwenhui.cn/cnwenhui/20230913/1694564812191934.png)
sqlstate2002錯誤,這是無法連通mysql數據庫服務器,我本地測試mysql連接一切正常,那只能是容器和宿主機通信出了問題,檢查了下數據庫的配置文件,看到DB_host是127.0.0.1,容器的ip是172.17.0.2,通過ifconfig看到本地的docker網絡連接的ip是172.17.0.1,那么我們就把配置文件修改為和docker同一網段即可,但是還需要注意需要把數據庫對應的訪問權限設置為容器的IP172.17.0.2,不然非172.17.0.2連接mysql服務器依然會拒絕。

設置完成后,重新在執行下導入數據庫的腳本,發現數據庫正常連接了,數據庫文件也能夠正常導入了。

docker容器和宿主機需要對應的IP進行關聯,127.0.0.1可以在和宿主機共享網絡的情況下使用,這種情況下docker容器端口和宿主機端口不能相同,不然也會產生端口沖突的情況。
上一篇: 阿里云效項目管理工具自動化的一些操作說明
下一篇: 分享一個高清截圖工具-Snipaste



