错误记录:Can't connect to MySQL server on xxx
由于之前Django项目的mysql的3306端口直接映射到宿主机的3306端口
最近安装的其他服务, 发现3306端口冲突, 就把原本Django项目的mysql服务的端口修改, 并且Django的配置文件后也跟着修改了
但是启动项目后发现报错Can't connect to MySQL server xxx
错误分析#
MySQLdb._exceptions.OperationalError: (2002, "Can't connect to MySQL server on 'mysql' (115)")
这个说明, MySQLdb
仍然可以找到mysql这个容器, 但是无法连接, 所以应该是端口问题
为此检查docker-compose.yml
, 发现之前是用ports
绑定的, 不知道为啥不能被访问
解决方法#
把docker-compose.yml
的ports
改为expose
expose
中的端口, 可以让links
的服务访问到
比如:
services: backend: links: - mysql mysql: expose: - 3306 # 暴露给backend服务
作者:忞翛
出处:https://www.cnblogs.com/lczmx/p/15797218.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
欢迎各位大佬评论交流。可以的话,不妨点一下推荐。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端