gpt4 book ai didi

docker - 无法从docker拉取镜像,ProcessUtilityVMImage找不到指定的路径

转载 作者:行者123 更新时间:2023-12-02 09:32:51 24 4
gpt4 key购买 nike

我制作了一个.net core应用程序,并将其上传到docker hub

当我尝试将其拉到我自己的机器上时,(win 10)它就可以工作

当我尝试将其拉到服务器(服务器 2016)时,出现错误:

docker pull arrivaflg/flg:20180618104928

....

failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage \\?\C:\ProgramData\docker\windowsfilter\cf1f49a6508aaa657768d667c58779e571392a80be0ba7519fe0835ac2476402\UtilityVM: The system cannot find the path specified.

但真正有趣的部分是,当我尝试提取特定的微软镜像时,我收到相同的错误消息。 (这是我机器上的 docker 文件中使用的 1709 Visual Studio 版本)

c:\tmp>docker pull microsoft/nanoserver:1709
1709: Pulling from microsoft/nanoserver
407ada6e90de: Extracting [==================================================>] 81.04MB/81.04MB
85710d780d68: Download complete
failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage \\?\C:\ProgramData\docker\windowsfilter\cf1f49a6508aaa657768d667c58779e571392a80be0ba7519fe0835ac2476402\UtilityVM: The system cannot find the path specified.

如果我不指定版本号(它只是默认为最新版本),那么在服务器上获取 Nano 服务器没有问题

但是将我的图像传输到服务器仍然存在问题。

所以我猜我应该使用特定版本的 Nano 服务器。

我已经在我的 dockerfile 中尝试过这些:

FROM microsoft/aspnetcore:2.0-nanoserver-1709 AS base
and
FROM microsoft/aspnetcore:2.0-nanoserver-1803 AS base

我的服务器信息:

C:\Windows\system32>docker info
Containers: 3
Running: 0
Paused: 0
Stopped: 3
Images: 3
Server Version: 17.06.2-ee-11
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd json-file logentries splunk syslog
Swarm: inactive
Default Isolation: process
Kernel Version: 10.0 14393 (14393.2312.amd64fre.rs1_release.180607-1919)
Operating System: Windows Server 2016 Datacenter
OSType: windows
Architecture: x86_64
CPUs: 2
Total Memory: 4GiB
Name: AWS1twAROS001
ID: IVVQ:GK2Q:DNJ7:PW6W:GYZ7:WYQM:65VV:Q4JM:6BEL:5CGQ:ISXY:AWEF
Docker Root Dir: C:\ProgramData\docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

最佳答案

此错误消息通常表明主机系统正在运行比 Docker 镜像旧的内核版本。正如您在 Windows Container Version Compatibility 的表格中看到的那样页面显示,Windows Server 2016 不支持基于 Windows Server 版本 1709 或 Windows Server 版本 1803 的容器。但是,Windows 10 版本 1803 确实通过 Hyper-V 隔离模式支持它们,这就是镜像的原因能够在您自己的机器上正常工作。

您尝试使用不同的基础镜像版本几乎是正确的,您只需要 Windows Server 2016 的正确标记,如 aspnetcore image page on Docker Hub“Windows Server 2016 amd64 标记” 部分所列。 :

来自 microsoft/aspnetcore:2.0-nanoserver-sac2016 AS 基础

这将使用针对 Windows Server 2016 版本的 Nano Server 镜像构建的 ASP.NET Core 镜像的版本,然后可以在 Windows Server 2016 主机系统下使用该镜像。

关于docker - 无法从docker拉取镜像,ProcessUtilityVMImage找不到指定的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50907911/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com