gpt4 book ai didi

iis - Docker IIS 网络连接到外部网络

转载 作者:行者123 更新时间:2023-12-02 03:07:19 28 4
gpt4 key购买 nike

这里是 Dockers 的全新内容。

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

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

"There was no endpoint listening at https://externalapi.asmx that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details."

我已经阅读了有关 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 防火墙,否则它不会工作,因为 Mcafee 防火墙看到来自 172.x 子网的流量(默认情况下将在哪个容器上运行)并阻止它。

关于iis - Docker IIS 网络连接到外部网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41871420/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com