无法访问主机中的节点:9.1容器
我正在学习Node.js官方网站提供的入门指南 ,其代码片段如下。
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的Docker容器中运行该应用程序(存储在${PWD}/guides/getting-started-guide
中的app.js
),该容器从官方节点:9.1映像运行。 (使用的Docker version 17.05.0-ce, build 89658be
是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”。
但是,浏览器报告当我尝试在主机中使用url http://localhost:3000
或http://127.0.0.1:3000/
访问This site can't be reached
访问This site can't be reached
。
死于某人的帮助〜