使用docker运行了一个镜像,镜像内有个服务跑在8090端口,防火墙关闭,查看8090端口是监听状态,但是用浏览器访问IP+端口无法访问,显示连接被拒绝,ping 服务器的IP可以通,没用nginx反向代理。请问这是什么原因导致的?
container运行情况
使用docker运行了一个镜像,镜像内有个服务跑在8090端口,防火墙关闭,查看8090端口是监听状态,但是用浏览器访问IP+端口无法访问,显示连接被拒绝,ping 服务器的IP可以通,没用nginx反向代理。请问这是什么原因导致的?
container运行情况
首先你要确认本机可能用外部ip访问,docker需要把端口公布出来,防火墙也不一定是本机的,看网络结构,可能在网关,如果用的云,也可能在边界上,如阿里云的安全组等等。
15 回答8.4k 阅读
7 回答5.3k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
问题解决了,应该是container的端口没有成功映射到服务器的本地,当前容器内部运行的服务是跑在8090端口上的。但外部无法访问,需要将容器端口映射到本地端口,之后才可以用公网IP:端口去访问。
初学docker,看了教程才明白