无法连接到暴露的Docker容器端口上的Node.js检查器
运行命令docker run -p 9222:9229 --name node-inspect-test -d node:alpine node --inspect-brk -e 'console.log("hello world")'
应该公开node.js检查器 Docker主机上的端口9222
。
运行curl http://localhost:9222/json
导致curl: (56) Recv failure: Connection reset by peer
。
使用docker exec -it node-inspect-test wget -qO- http://localhost:9229/json
从容器中请求相同的端点成功。
为什么暴露的端口9222
不能被转发到内部端口9229
?
我正在运行Docker版本17.06.0-ce,在Ubuntu 16.04.2上构build02c1d87。
默认情况下,节点检查器在回送接口上侦听。 --inspect-brk
标志可以指定主机和端口。 为了使debugging器在所有接口上侦听,以便通过Docker主机访问,请使用标志--inspect-brk=0.0.0.0:9229
。