为了账号安全,请及时绑定邮箱和手机立即绑定

跪求!docker 内部的应用无法连接mysql求指导!

跪求!docker 内部的应用无法连接mysql求指导!

森林海 2019-08-21 19:22:43
我在docker内部安装了mysql,并且在mac是能够使用的,host是127.0.0.1我使用docker的build命令把我的node应用放到docker上后,host无论是127.0.0.1还是0.0.0.0都是连接不上,都是报下面这个错误connectECONNREFUSED0.0.0.0:3306atProtocol.Object..Protocol._enqueue(node_modules/mysql/lib/protocol/Protocol.js:144:48)atProtocol.handshake(node_modules/mysql/lib/protocol/Protocol.js:51:23)atConnection.connect(node_modules/mysql/lib/Connection.js:118:18)atnewconnect(sdk.js:23:29)atObject.test(sdk.test.js:44:24)
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

因为node在container里面,mysql也在container里面,这两个不是一个container(可以粗略理解为不在一台机器上运行),所以在node代码中mysql的host不是本地网络127.0.0.1,而是在compose文件中给mysql指定的hostname。
                            
查看完整回答
反对 回复 2019-08-21
?
ibeautiful

TA贡献1993条经验 获得超5个赞

我在使用docker-compose时,代码内部填写的是docker-compose.yml对应的service名称mysql56
version:"3"
services:
mysql56:
image:mysql:5.6
ports:
-3306:3306
                            
查看完整回答
反对 回复 2019-08-21
  • 2 回答
  • 0 关注
  • 534 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号