ここでは、Dockers にとってまったく新しいものです。
ServiceStack フレームワーク上に構築された非常に単純な .NET 45 アプリケーションがあります。それらは主に API Web サービスです。
Docker イメージは適切に構築されており、コンテナーは適切にデプロイされて実行されており、問題はありません。Windows コンテナーを使用しています (Windows 用の Docker ではありません)。ただし、サード パーティの API (レガシー) を呼び出している特定の Web サービスが 1 つあり、そのために SOAP クライアントを使用しています。EndpointNotFound
ただし、この Web サービスは常に例外をスローします。
「メッセージを受け入れることができる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