Azure 容器实例无法连接到 Internet(出站 http GET 请求失败)

Azure Container Instance Can't Connect to Internet (outbound http GET request failed)

我有一个从基础映像创建的 Azure 容器实例 microsoft/windowsservercore:ltsc2016。该图像安装了 mercurial 并使用 hg clone 检查了一个私有仓库,但失败了,结果为 abort: error: getaddrinfo failed。当 运行 在我的工作站上对 Windows 使用 Docker 时,容器成功签出存储库。

我认为这是一个网络连接问题,因为如果我 运行 powershell Invoke-WebRequest http://microsoft.com 容器也会记录一个错误,即 request could not be completed due to failure to connect to the server.

ACI 上的 Windows 容器有一个关于出站网络的已知问题。建议在任何网络请求上添加重试逻辑或在启动应用程序之前添加 30 秒的延迟。

https://docs.microsoft.com/en-us/azure/container-instances/container-instances-troubleshooting#windows-containers-slow-network-readiness

该问题仅影响 Windows Server 2016。已在 Windows Server 2019 中修复。一旦 ACI 适应 WS2019,将不再需要解决方法。