我在运行Windows 10.0.17134的个人计算机上创建了一个asp.net核心mvc 3(预览版)的docker映像。我的码头工人将Windows Server Nano映像归档
从Microsoft / dotnet:3.0-aspnetcore-runtime-nanoserver-1809 AS基础 ...
此图像已发布到AWS ECS上的存储库,并且我有设置任务和服务,并且群集都正常。
但是我的容器无法启动并出现以下错误:
状态原因CannotPullContainerError:Windows版本 基于10.0.17134的映像与10.0.14393主机不兼容
我确定我在主机上运行Widows服务器,所以为什么抱怨我的主机是Windows 10.0.14393?那是我的个人笔记本电脑上的Windows版本!
答案 0 :(得分:1)
当我尝试拉出最新的Windows nano服务器时,我遇到了类似的错误:
PS C:\WINDOWS\system32> docker pull mcr.microsoft.com/windows/nanoserver:1809_amd64
1809_amd64: Pulling from windows/nanoserver
a Windows version 10.0.17763-based image is incompatible with a 10.0.17134 host
如果我看着dxdiag(运行-> dxdiag),那么我会发现:
Windows 10 Enterprise 64-bit (10.0, Build 17134)
所以我想那是来自主机号码的地方。这意味着我正在尝试获取对我的计算机而言太新的容器版本。我找到了此网页:
其中明确指出我的操作系统不支持2019版本。猜猜我必须等待!我认为您可以检查笔记本电脑和服务器的版本,看看它们是否与您要运行的docker映像兼容。
答案 1 :(得分:0)
可能的原因之一是,将在主机上运行的docker配置为与Linux容器一起使用,这是默认行为。请注意,尽管事实是,主机是Windows计算机(Windows 10,并且可能是您所引用的Windows服务器)可以与Docker中基于Linux的映像一起使用。
ASP net core听起来像Windows容器,因此您可能应该“切换”模式:在docker UI中,有一个“ Switch To Windows Container”菜单项。你尝试过吗?
答案 2 :(得分:0)
“主机”是您在其上运行容器的计算机,因此,它确实是指Win 10便携式计算机,如果那是运行Docker的计算机,并且是您在其上创建容器的计算机。
>您可能只需要更新到Windows 10内部版本1809(2018年10月发行)。我遇到了同样的问题,我注意到我的机器仍在运行1803,即使我正在执行自动更新。我只是去Windows更新并手动检查更新。