Docker IISnetworking连接到外部networking

这里完全是Dockers的新手。

我有一个非常简单的.NET 45应用程序,它构build在ServiceStack框架上。 他们主要是API的Web服务。

Docker映像构build得很好,容器部署良好,运行正常,没有问题。 我正在使用Windows容器(而不是docker for windows)。 不过,我有一个特定的Web服务调用第三方API(传统),我们正在使用SOAP客户端来做到这一点。 但是,这个Web服务总是抛出EndpointNotFoundexception:

“ https://externalapi.asmx上没有可以接受消息的端点监听,这通常是由地址或SOAP操作不正确引起的,请参阅InnerException(如果存在)以获取更多详细信息。

我已经阅读了Windows NAT问题。 我的直觉是自给式的容器是孤立的,因此没有外部互联网连接到外部世界。 有什么我需要configuration我的微软/ iis图像?

我的Docker文件:

 FROM microsoft/iis SHELL ["powershell"] RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \ Install-WindowsFeature Web-Asp-Net45 COPY \ MyAwesomeWebsite RUN Remove-WebSite -Name 'Default Web Site' RUN New-Website -Name 'MyAwesomeWebsite' -Port 80 \ -PhysicalPath 'c:\MyAwesomeWebsite' -ApplicationPool '.NET v4.5' EXPOSE 80 

您可以轻松地从容器中检查与外部世界的连接。 只需login并尝试从那里发出相同的呼叫。 它可能是许多问题,最简单的一个可能是防火墙在你的容器主机上运行。 对于我来说,除非我停止Mcafee防火墙,否则它将不起作用,因为Mcafee防火墙会看到来自172.x子网的stream量(默认情况下将运行哪个容器)并阻止它。