我正在尝试在Service Fabric集群中运行Docker映像。 该映像在我的本地计算机上运行良好。但是,当我将其部署到本地群集或Azure Service Fabric上的群集时,它开始崩溃。
我尝试在计算机上运行docker ps命令。它显示了一个正在运行的容器映像,但是5秒钟后再次运行该命令时,它显示了一个空列表。
我的应用程序是使用ASP.NET Core 2.0.7构建的,而我的容器映像是microsoft / aspnetcore:2.0.7-nanoserver-1709
我正在为群集使用以下操作系统:
优惠:WindowsServerSemiAnnual SKU:
Datacenter-Core-1709-with-Containers-smalldisk
我看到以下错误:
错误事件:SourceId ='System.Hosting',
Property ='CodePackageActivation:Code:EntryPoint'。
发生错误 在CodePackage激活期间。System.Fabric.FabricException (-2147017731)
无法启动容器。
ContainerName = sf-2-4e0c854d-d2d9-458a-82c5-78da874dc520_6fd774de-4796-4563-ab3f-c3bbb4d49e0c, ApplicationId = ServiceFabricApplicationType_App2, ApplicationName =结构:/ ServiceFabricApplication。 Docker请求 返回StatusCode = InternalServerError与 ResponseBody = {“ message”:“容器 fb204978704c52917704f1f6985ec9a73c9e76596e7258ff0ffce93c9c5109e0 在CreateContainer期间遇到错误:Windows中的失败 系统调用
答案 0 :(得分:0)
您很可能会遇到此问题,因为映像内的Windows版本与主机上的Windows版本不匹配。 查看兼容性列表here。 (它特别提到您的错误消息。)
要解决此问题,您可以:
根据microsoft / nanoserver或microsoft / windowsservercore的版本重建容器
如果主机是新的,请使用docker run --isolation = hyperv ...在具有相同Windows版本的其他主机上运行