问题描述
使用Windows-2019
hosted agent(安装了1809 Windows版本-Microsoft Windows Server 2019 Datacenter的代理)作为代理规范时,我们无法提取mcr.microsoft.com/windows:2004
码头工人镜像。
例外:
我对this solution很熟悉(在本地工作得很好)。 但是,由于Docker Desktop没有安装在代理上,所以我无法切换到Windows容器。此外,由于需要重启,因此无法选择安装Docker Desktop。
当前,创建构建计算机是不可行的。
所以我的问题是:有一种方法可以从托管代理中提取mcr.microsoft.com/windows:2004
码头工人镜像?
解决方法
所以我的问题是:有一种方法可以从托管代理中提取mcr.microsoft.com/windows:2004 docker映像?
恐怕没有办法从托管代理中提取mcr.microsoft.com/windows:2004
码头工人镜像。
那是因为Matching container host version with container image versions:
Windows Server容器和基础主机共享一个 内核,容器的基本映像必须与主机的基本映像匹配。如果 版本不同,容器可能会启动,但功能已满 不能保证。
换句话说,Windows要求主机OS版本与容器OS版本匹配。如果要基于更新的Windows版本运行容器,请确保您具有等效的主机版本。否则,您可以使用Hyper-V隔离在新的主机版本上运行旧容器。
因此,我们无法从托管代理windows:2004
或2004
({{1} })。我们只能使用托管代理拉映像windows-latest
。
windows-2019
但是,如果我使用托管代理拉出图像1809
,则会收到错误windows:1809
。为了验证我的答案,我使用了私有代理,该私有代理托管在Windows版本docker pull mcr.microsoft.com/windows/servercore:1809
(操作系统内部版本windows:1903
)上。
总而言之,我们无法在托管代理(1809)上提取windows:2004(2004)图像。此请求的解决方法是使用私有代理。
顺便说一句,我已经与私人代理人测试了您的问题中the link中提到的那些解决方案。 no matching manifest for windows/amd64...
和1903
都无法解决此错误。
参考链接: