Docker IIS网络与外部网络的连接

Docker IIS网络与外部网络的连接,iis,docker,docker-for-windows,windows-container,Iis,Docker,Docker For Windows,Windows Container,对这里的码头工人来说是全新的 我有一个非常简单的.NET45应用程序,它构建在ServiceStack框架上。它们主要是API web服务 Docker映像构建良好,容器部署良好且正在运行,没有问题。我使用的是Windows容器(不是Windows的docker)。然而,我有一个特定的web服务正在调用第三方API(遗留),我们正在使用SOAP客户机来实现这一点。但是,此web服务始终引发EndpointNotFound异常: 在侦听时没有可以接受消息的终结点。这通常是由于地址或SOAP操作不正

对这里的码头工人来说是全新的

我有一个非常简单的.NET45应用程序,它构建在ServiceStack框架上。它们主要是API web服务

Docker映像构建良好,容器部署良好且正在运行,没有问题。我使用的是Windows容器(不是Windows的docker)。然而,我有一个特定的web服务正在调用第三方API(遗留),我们正在使用SOAP客户机来实现这一点。但是,此web服务始终引发
EndpointNotFound
异常:

在侦听时没有可以接受消息的终结点。这通常是由于地址或SOAP操作不正确造成的。有关详细信息,请参阅InnerException(如果存在)

我已经了解了Windows NAT问题。我的直觉是,自给自足的容器是孤立的,因此没有外部互联网连接到外部世界。我需要在我的microsoft/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

您可以轻松地检查从容器到外部世界的连接。只要登录到它,并尝试从那里发出相同的呼叫。它可能有很多问题,最简单的问题可能是在容器主机上运行的防火墙。例如,对于我来说,除非我停止Mcafee firewall,否则它将无法工作,因为Mcafee firewall看到来自172.x子网(默认情况下将在该子网上运行容器)的流量,并阻止它