无法访问节点:主机中的9.1容器

时间:2017-11-14 03:14:57

标签: node.js docker

我正在学习Node.js官方网站上提供的getting started guide,其代码段如下。

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Hello World\n');
});

server.listen(port, hostname, () => {
    console.log(`Server running at http://${hostname}:${port}/`);
});

此外,我尝试在官方node:9.1图片的Node的docker容器中运行该应用程序(在app.js中存储${PWD}/guides/getting-started-guide)。 (正在使用的docker版本为Docker version 17.05.0-ce, build 89658be

docker run --rm -p 3000:3000 -u "node" -v ${PWD}/guides/getting-started-guide:/home/node/app -w /home/node/app --name "hello" -it node:9.1 node app.js

容器启动后,我会看到日志Server running at http://127.0.0.1:3000/。当在容器中查询时,服务器响应“Hello World”。

但是,当我尝试使用网址This site can’t be reachedhttp://localhost:3000 在主机中访问时,浏览器会报告http://127.0.0.1:3000/

为某人的帮助而死...

0 个答案:

没有答案