【发布时间】:2017-09-25 23:50:38
【问题描述】:
我有一个 dockerized 节点应用程序在 ubuntu-vm-host 上的容器内运行,具有静态地址,但只能通过 localhost 访问它。我使用命令: sudo docker run -d -p 49160:3000 8a5ccd9f4cca 启动应用程序。当它们在没有 docker 的 vm 中运行时,我可以毫无问题地访问 vm 上正在运行的节点服务器。 当我 curl http://localhost:49160/test 我得到回应。但如果我尝试将其更改为 curl http://"correct ip address":49160/test 它不起作用。
当我在 ubuntu-vm-host 中使用 netstat -l 时,会显示转发端口。 如果我这样做:
curl http://172.17.0.1:49160/test
这是docker0网络接口inet地址,它通过了。
【问题讨论】:
-
为什么你使用
http://:49160/test,你应该总是指定一个IP地址(或域名)。 -
这是一个错字 http://:49160/test 吗?
-
是的,对不起,我写了 http://:49... 它忽略了括号内的所有内容
-
错误是什么?
-
只是客户端连接超时。服务器端没有错误或请求迹象。