Docker run -p 3000-3000不能正常工作,我必须使用端口32779

时间:2019-04-07 19:30:06

标签: javascript node.js docker

即使我的节点应用程序正在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

1 个答案:

答案 0 :(得分:1)

如果只想绑定一个端口,则应编写-p 3000:3000

$ docker run -p 3000:3000 test