我在 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。
- 1 回答
- 0 關注
- 915 瀏覽
添加回答
舉報
0/150
提交
取消