Docker IIS网络连接到外部网络

时间:2017-01-26 10:27:44

标签: iis docker docker-windows windows-container

这里全新的Dockers。

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

Docker镜像构建良好,容器部署良好且正常运行,没有问题。我正在使用Windows容器(不是Windows的docker)。但是,我有一个特定的Web服务正在调用第三方API(Legacy),我们正在使用SOAP客户端来执行此操作。但是,此Web服务始终抛出EndpointNotFound异常:

  

" https://externalapi.asmx没有可以接受该消息的端点。这通常是由错误的地址或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

1 个答案:

答案 0 :(得分:0)

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