将mysql docker容器连接到外部应用程序

yvgpqqbh  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(325)

我正在尝试连接一个正在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。如果我当前尝试使用raspberry pi的ip 192.168.x.x或mysql容器的ip运行脚本,则会出现超时错误。
两件事:1。有人建议我在容器上运行mysql数据库,然后将信息存储在外部硬盘上。我还没有设置这后面的部分,但如果有一个更好的想法,如何做到这一点,我很乐意听到。
2我需要所有这一切都要设置,以便我可以从一个不同的网络远程访问,然后在那里它被托管。最终我计划将服务器切换到云平台,但目前我需要将其设置为具有相同的功能。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题