Docker容器,启动Nodejs Server

时间:2017-09-07 10:23:43

标签: node.js docker containers

我在容器上启动NodeJs服务器。但我无法在浏览器中访问此服务器

服务器在localhost:8585启动,但当我尝试在浏览器上访问它时,我会收到GET http://localhost:8585/ net::ERR_CONNECTION_RESET

这有什么问题?

这是我的server.js文件

var express = require('express'),
    path = require('path'),
    config = require('./config.js');

var app = new express();

app.use('/', express.static(path.join(__dirname, '../client')));

app.get('/', function (req, res) {
    res.send('Hello World!')
  });

  app.get('*', function(req, res) {
      console.log('!!!!!!!!-------_!!!!!!!!!!!!!');
  })

function start() {
 app.listen(config.port, function () {
    console.log('myProject listening on port ' + config.port + '!');
  });
}

exports.start = start;

使用

运行图像
  

docker run -it -v somewhere:somewhere -p 8585:8585 --name test dockerImage

1 个答案:

答案 0 :(得分:0)

服务器在容器内启动,与世界其他地方隔离。您可能需要将容器内的端口8585暴露给外部世界。您可以通过p flagdocker run执行此操作,如下所示:

docker run -p localhost:8555:8585

您还需要{Dockerfile中的EXPOSE端口。