2017-07-10 27 views
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

答えて

関連する問題