0
私はノードアプリですDocker.Hereと私のノードのアプリを展開しようとしています:TypeError:未定義の 'query'プロパティは読み取れませんか?
FROM node:boron
# Create app directory
RUN mkdir -p /home/sameera/Desktop/test/app
WORKDIR /home/sameera/Desktop/test/app
# Install app dependencies
COPY package.json /home/sameera/Desktop/test/app
RUN npm install
# Bundle app source
COPY . /home/sameera/Desktop/test/app
EXPOSE 8080
CMD [ "npm", "start" ]
正常にビルドドッキングウィンドウのファイルとするとき、私は実行します。
var express = require('express');
var path = require('path');
var mysql = require('mysql');
var app = express();
var bodyparser = require('body-parser');
var mongoose =require('mongoose');
app.use(express.static("./app"));
var pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'root',
database: 'node_db'
});
app.set('port',8080);
app.set('views',path.join(__dirname,'views'));
app.set('view engine','jade');
app.use(express.static(path.join(__dirname,'public')));
app.use(bodyparser.urlencoded({ extended: false }));
app.get('/', function (req, res) {
res.sendfile('app/index.html');
});
app.get('/getAllBlogs', function (req, res) {
pool.getConnection(function (err, connection) {
var sql = mysql.format("select * from blogs");
connection.query(sql, function (error, results, fields) {
connection.release();
if (error) {
res.send(error);
}
res.send(results);
});
});
});
app.get('/getBlog/:id', function(req,res){
console.log(req.params.id);
pool.getConnection(function (err, connection) {
var sql = mysql.format("select * from blogs where id=?", [req.params.id]);
connection.query(sql, function (error, results, fields) {
connection.release();
if (error) {
res.status(200).send(error);
}
res.send(results[0])
});
});
});
app.listen(app.get('port'));
console.log('~~Server Runnign on port localhost:'+app.get('port')+'~~');
ここでは私のドッカーファイルであります以下のコマンドは正しく実行されています。
docker run -p 49160:8080 img
しかし、私は、MySQLを使用しているデータでページをロードしようとすると、エラーを与えて です:
connection.query(sql, function (error, results, fields) {
^
TypeError: Cannot read property 'query' of undefined
}
私は問題はそれである私がMySQLへ接続できないと思いますこのコンテナは私がインストールしていないか、ドッカーのファイルでMySQL関連のコマンドを使用していないからです。私はすべてのSQL接続と関連するコードを削除していますが、エラーは発生せず、正しく実行されています。私はubuntuを使用しています14.04