我在Windows 2016上的Azure中创建了一个docker容器。 这是我的DOCKERFILE:
FROM microsoft/aspnet
COPY ./ /inetpub/wwwroot
EXPOSE 443
EXPOSE 80
我这样运行起来:
docker run -d --name myctr myimg -p 443:443
我可以通过我在hosts文件中配置的域名浏览它。 SUCCESS!
在Azure网络之外的远程计算机上,我使用Azure VM的IP地址配置我的hosts文件(并且还尝试使用容器的IP地址 - 不确定要使用哪个容器!)
但是,我无法从Azure外部浏览。
Windows防火墙
我已禁用Windows防火墙。
Azure NSG
我已经设置了一个网络安全组,允许端口443上的流量(我在这个盒子上运行了另一个网站,并且可以从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
如何配置容器/主机/ Azure,以便我可以从Azure外部的远程计算机上查看容器上托管的网站? 任何想法都非常感谢!
答案 0 :(得分:0)
如何配置容器/主机/ Azure以便我可以查看 从外面的远程机器托管在容器上的网站 天青?
默认情况下,-p 80:80
表示我们将容器的端口80映射到主机端口80.所以现在其他人可以访问主机的端口80以访问容器的端口80.
这是一个例子:
PS C:\Users\jason> docker run -d -p 80:80 microsoft/iis
3bf999503cd3110ae8fb1c01cc5c8c6153645a0d533960339490a0ba50634d3a
将端口80添加到NSG入站规则后,我可以通过Internet浏览:
我已经建立了一个网络安全组,允许端口上的流量 443(我在这个盒子上运行了另一个网站,可以访问它 来自Azure之外,取得了成功)
在您的方案中,您的端口443正在使用中,我们无法将docker与端口443绑定,请尝试另一个端口。