新的程序框架跑起来
搭建时考虑到mysql放在容器内,如果存在文件备份与恢复会麻烦(其实好像并不会)
就把mysql在本地宿主机上搭建
结果又出现新的问题
php在容器内,容器内运行的php代码连接不上本地宿主机的mysql
修改host为 127.0.0.1出现 2002 Connection refused 错误
修改host为 localhost 出现2002 No such file or directory错误
最后找到解决方案
windows和mac下的docker 版本在18.03+
修改host为 host.docker.internal
linux下此方案暂时无用,等待官方修复把
其他解决方案
Use --network=“host” in your docker run command, then 127.0.0.1 in your docker container will point to your docker host.
本文介绍在Docker环境下,如何解决容器内的PHP应用无法连接到宿主机上的MySQL数据库的问题。通过调整连接字符串中的host参数,使用'host.docker.internal'作为host名,可以实现在Windows和macOS下Docker版本18.03+的环境中,容器内PHP应用成功连接到宿主机MySQL。对于Linux环境,提供了替代方案。
1929

被折叠的 条评论
为什么被折叠?



