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

我在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:3306
atProtocol.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)
森林海
浏览 535回答 2
2回答

ITMISS

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

ibeautiful

我在使用docker-compose时,代码内部填写的是docker-compose.yml对应的service名称mysql56version:"3"services:mysql56:image:mysql:5.6ports:-3306:3306
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript