我正在尝试将在Docker容器上运行的MySQL数据库服务器连接到对话。我正在开发一个聊天机器人。 Docker容器位于安装了hypriot的树莓派上。目前正在对话中。我有一个应用程序
var mysql = require('promise-mysql');
var db = {
host: "???",
user: "root",
password: "password",
database: "TimeTracker"
};
var pool = mysql.createPool(db);
function ConnectToMysql(context, req, res) {
console.log("==> ConnectToMysql");
var query = "SELECT * FROM BTSTT";
return pool.query(query, [])
.then(function(rows) {
console.log("== ConnectToMysql rows:%o",rows);
if (rows.length) {
var row = rows[0];
return res.say(row);
} else {
return false;
}
})
.catch(function(err) {
console.log("<== ConnectToMysql catch:"+err.message);
return false;
});
}
我已经打开了portainer容器的端口,以便可以在ulimi.ddns.net上对其进行远程访问。 MySQL容器的IP地址为172.17.x.x。如果我当前尝试使用任一脚本运行脚本 我的树莓派IP,192.168.x.x或MySQL容器的IP,我收到超时错误。
几件事:
1.建议我在容器上运行MySQL数据库,然后将信息存储在外部硬盘驱动器上。我还没有设置这部分的后半部分,但是如果有一个更好的想法,我很想听听。
2.我需要进行所有这些设置,以便可以从托管它的其他网络中远程访问它。最终,我计划将服务器切换到云平台,但是现在我需要将其设置为具有相同的功能。