Docker 无法访问内部网络中vm上运行的容器url

Docker 无法访问内部网络中vm上运行的容器url,docker,azure-virtual-machine,azure-cognitive-services,Docker,Azure Virtual Machine,Azure Cognitive Services,我有一个Azure虚拟机,在其端口5000上安装了语音到文本服务容器 当我通过浏览器测试VM内部的语音到文本服务时,它正确地显示了页面 但是,当我在连接到内部网络的本地笔记本电脑上访问相同的url时,会出现超时错误 我已设置网络安全组规则,以允许端口5000上的流量,并使用IPFlow进行验证,并且没有阻塞 为了确保这不是NetworkSecurityGroup防火墙问题,我在端口80的同一个VM上安装了nginx容器,我可以使用url访问虚拟机和笔记本电脑上的nginx默认主页,没有任何问题。

我有一个Azure虚拟机,在其端口5000上安装了语音到文本服务容器

当我通过浏览器测试VM内部的语音到文本服务时,它正确地显示了页面

但是,当我在连接到内部网络的本地笔记本电脑上访问相同的url时,会出现超时错误

我已设置网络安全组规则,以允许端口5000上的流量,并使用IPFlow进行验证,并且没有阻塞


为了确保这不是NetworkSecurityGroup防火墙问题,我在端口80的同一个VM上安装了nginx容器,我可以使用url访问虚拟机和笔记本电脑上的nginx默认主页,没有任何问题。

我做了更多的挖掘,发现问题在于内部防火墙设置阻止了非常规端口(例如:5000)

作为一种临时措施,我使用putty客户端使用了SSH隧道和端口转发(基于这里的想法:akadia.com/services/SSH_putty.html)

在使用putty建立连接之后,我现在能够在应用程序中将speech to text容器服务器指定为localhost:5000,并且它将请求正确地转发到远程speech to text服务器


同时,我已要求我的IT团队解锁该端口。感谢对Max和4c74356b41的有用评论,我认为这是一个保留端口。请尝试启动此cmd命令,查看端口排除范围
netsh interface ipv4 show excludedportrange protocol=tcp
谢谢您的评论。我有一个ubuntu虚拟机,当我使用cat/proc/sys/net/ipv4/ip_local_port_范围时,端口范围远远大于5000;因此,它似乎不属于端口排除范围。我还做了cat/proc/sys/net/ipv4/ip_local_reserved_端口,它返回空的。我做了一个netstat,看起来docker代理使用了端口5000(见下文)Proto:tcp6;LocalAddr::5000;国外地址::*;国家:倾听;程序名:27718/docker proxy,但当我在VM中本地浏览容器url时,它会工作;也许是Azure的排除端口?你为什么不试着把它暴露在其他端口上呢?