即使我的节点应用程序正在docker中运行并在端口3000上侦听,我也无法到达localhost:3000或127.0.0.1:3000。相反,我必须使用locahost:32779
知道为什么吗?
Docker文件
...
EXPOSE 3000
...
app.js
const port = 3000
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
CMD
docker run -p 3000-3000 test
--> Example app listening on port 3000!
浏览器
localhost -> This site can’t be reached
CMD
docker ps -a
95d2ce8 test "/bin/sh -c 'node ap…" 3 minutes ago Up 3 minutes 0.0.0.0:32779->3000/tcp distracted_thompson
答案 0 :(得分:1)
如果只想绑定一个端口,则应编写-p 3000:3000
:
$ docker run -p 3000:3000 test