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

docker 内部的应用无法连接mysql

docker 内部的应用无法连接mysql

蛊毒传说 2019-01-30 15:53:38
我在 docker 内部安装了 mysql, 并且在 mac 是能够使用的, host 是 127.0.0.1我使用 docker 的 build 命令把我的node应用放到 docker 上后,host 无论是 127.0.0.1还是0.0.0.0都是连接不上,都是报下面这个错误connect ECONNREFUSED 0.0.0.0:3306at Protocol.Object.<anonymous>.Protocol._enqueue (node_modules/mysql/lib/protocol/Protocol.js:144:48)       at Protocol.handshake (node_modules/mysql/lib/protocol/Protocol.js:51:23)       at Connection.connect (node_modules/mysql/lib/Connection.js:118:18)       at new connect (sdk.js:23:29)       at Object.test (sdk.test.js:44:24)
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

因为node在container里面,mysql也在container里面,这两个不是一个container(可以粗略理解为不在一台机器上运行),所以在node代码中mysql的host不是本地网络127.0.0.1,而是在compose文件中给mysql指定的hostname。

查看完整回答
反对 回复 2019-01-30
  • 1 回答
  • 0 关注
  • 849 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信