docker搭建lnmp环境错误总结
1.SQLSTATE[HY000] [2002] Connection refused
方法一:
以上錯(cuò)誤主要是對(duì) Docker 容器的隔離機(jī)制理解不夠,其實(shí)每個(gè)容器之間都是隔離的,如果有相互依賴的服務(wù),需要進(jìn)行顯示的關(guān)聯(lián),比如使用選項(xiàng) --link。
測(cè)試連接 MySQL 的代碼其實(shí)是運(yùn)行在 PHP 對(duì)應(yīng)的容器里,而 MySQL 服務(wù)是在它自己對(duì)應(yīng)的容器里,當(dāng)我們的 host 填寫 127.0.0.1 時(shí)候,其實(shí)對(duì)應(yīng)的是 PHP 容器里面,所以不可能找到對(duì)應(yīng)的服務(wù),從而引起上面拒絕連接的錯(cuò)誤。
那么,怎么進(jìn)行連接呢?
其實(shí)容器之間關(guān)聯(lián)之后,可以通過(guò)容器名進(jìn)行連接,是的,容器名!
MySQL 服務(wù)對(duì)應(yīng)的容器名是 mysql,PHP 容器與它關(guān)聯(lián)的名字也是 MySQL,所以把 127.0.0.1 改成 mysql 再進(jìn)行連接即可!
方法2:
mysql的host 填寫docker內(nèi)的IP,獲取方式為:
docker inspect --format=’{{.NetworkSettings.IPAddress}}’ mysql
在使用docker容器時(shí),有可能沒(méi)有安裝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
總結(jié)
以上是生活随笔為你收集整理的docker搭建lnmp环境错误总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ubuntu下安装各种软件
- 下一篇: Docker-Compose 使用简介