docker是一款比較好用的容器工具,可以快速的把項目進行部署,不受操作系統(tǒng)的限制,有一些純內網(wǎng)項目中,不方便搭建對應環(huán)境而且環(huán)境也比較麻煩的時候,我們公司一般會采用docker進行快速部署,今天使用docker部署項目時,執(zhí)行對應的mysql數(shù)據(jù)導入工具出現(xiàn)了下面的提示。
sqlstate2002錯誤,這是無法連通mysql數(shù)據(jù)庫服務器,我本地測試mysql連接一切正常,那只能是容器和宿主機通信出了問題,檢查了下數(shù)據(jù)庫的配置文件,看到DB_host是127.0.0.1,容器的ip是172.17.0.2,通過ifconfig看到本地的docker網(wǎng)絡連接的ip是172.17.0.1,那么我們就把配置文件修改為和docker同一網(wǎng)段即可,但是還需要注意需要把數(shù)據(jù)庫對應的訪問權限設置為容器的IP172.17.0.2,不然非172.17.0.2連接mysql服務器依然會拒絕。
設置完成后,重新在執(zhí)行下導入數(shù)據(jù)庫的腳本,發(fā)現(xiàn)數(shù)據(jù)庫正常連接了,數(shù)據(jù)庫文件也能夠正常導入了。
docker容器和宿主機需要對應的IP進行關聯(lián),127.0.0.1可以在和宿主機共享網(wǎng)絡的情況下使用,這種情況下docker容器端口和宿主機端口不能相同,不然也會產生端口沖突的情況。
上一篇: 阿里云效項目管理工具自動化的一些操作說明
下一篇: 分享一個高清截圖工具-Snipaste
關鍵詞: