docker搭建lnmp環境錯誤總結

1.SQLSTATE[HY000] [2002] Connection refused
方法一:
以上錯誤主要是對 Docker 容器的隔離機制理解不夠,其實每個容器之間都是隔離的,如果有相互依賴的服務,需要進行顯示的關聯,比如使用選項 --link。

測試連接 MySQL 的代碼其實是運行在 PHP 對應的容器裏,而 MySQL 服務是在它自己對應的容器裏,當我們的 host 填寫 127.0.0.1 時候,其實對應的是 PHP 容器裏面,所以不可能找到對應的服務,從而引起上面拒絕連接的錯誤。

那麼,怎麼進行連接呢?

其實容器之間關聯之後,可以通過容器名進行連接,是的,容器名!
MySQL 服務對應的容器名是 mysql,PHP 容器與它關聯的名字也是 MySQL,所以把 127.0.0.1 改成 mysql 再進行連接即可!
方法2:
mysql的host 填寫docker內的IP,獲取方式爲:
docker inspect --format=’{{.NetworkSettings.IPAddress}}’ mysql

在使用docker容器時,有可能沒有安裝Vi, 安裝Vi:apt-get install vim,如果提示:Unable to locate
package vim,則需要敲:apt-get update, 等更新完畢以後再敲命令: apt-get install vim

https://www.cnblogs.com/afeige/p/10771140.html

發佈了65 篇原創文章 · 獲贊 19 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章