无法从Azure主机虚拟机外部访问Windows容器
我已经在Windows 2016的Azure中创build了一个docker容器。下面是我的DOCKERFILE:
FROM microsoft/aspnet COPY ./ /inetpub/wwwroot EXPOSE 443 EXPOSE 80
我这样运行:
docker run -d --name myctr myimg -p 443:443
我可以通过在hosts文件中configuration的域名来浏览它。 成功!
在Azurenetworking之外的远程机器上,我使用Azure虚拟机的IP地址来configuration我的主机文件(并尝试使用容器的IP地址 – 不确定使用哪一个! )
但是,我无法从Azure外部浏览它。
Windows防火墙
我已经禁用了Windows防火墙。
Azure NSG
我build立了一个networking安全组,允许443端口的stream量(我有另一个网站在这个盒子上运行,并且可以从Azure以外的地方访问,成功)
Netstat显示如下:
netstat -ano | findstr :443 | findstr ESTABLISHED TCP 10.0.0.4:49682 99.99.99.99:443 ESTABLISHED 1252 TCP 10.0.0.4:49700 99.99.99.98:443 ESTABLISHED 2476 TCP 10.0.0.4:49718 99.99.99.92:443 ESTABLISHED 5112
如何configuration容器/主机/ Azure,以便从Azure之外的远程计算机上查看托pipe在容器上的网站? 任何想法非常感谢!
如何configuration容器/主机/ Azure,以便从Azure之外的远程计算机上查看托pipe在容器上的网站?
默认情况下, -p 80:80
意味着我们将容器的端口80映射到主机端口80.所以现在其他人可以访问您的主机的端口80来击中容器的端口80。
这里是一个例子:
PS C:\Users\jason> docker run -d -p 80:80 microsoft/iis 3bf999503cd3110ae8fb1c01cc5c8c6153645a0d533960339490a0ba50634d3a
将端口80添加到NSG入站规则后,我可以通过Internet浏览它:
我build立了一个networking安全组,允许443端口的stream量(我有另一个网站在这个盒子上运行,并且可以从Azure以外的地方访问,成功)
在你的场景中,你的端口443正在使用,我们不能绑定端口443的docker,请尝试另一个端口。