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

时间:2018-08-06 21:11:31

标签: javascript mysql node.js docker network-programming

我正在尝试将在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.我需要进行所有这些设置,以便可以从托管它的其他网络中远程访问它。最终,我计划将服务器切换到云平台,但是现在我需要将其设置为具有相同的功能。

0 个答案:

没有答案