本文介绍了无法从docker提取图像,ProcessUtilityVMImage无法找到指定的路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have made a .net core app and it is uploaded to docker hub

当我尝试将其拉到自己的计算机上时(赢得10)起作用

When I try to pull it to my own machine, (win 10) it just works

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

When I try to pull it to the server (server 2016) I get an error:

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.

但真正有趣的部分是当我尝试提取特定的Microsoft映像时,出现了相同的错误信息。 (这是Visual Studio在我的计算机上的docker文件中使用的版本1709)

But the really interesting part is when I try to pull a specific microsoft image, I get the SAME error message. (this is the version 1709 visual studio uses in the docker file on my machine)

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.

如果我不指定版本号(默认为最新),就没有问题在服务器上安装纳米服务器

If I don't specify the version number (and it just defaults to latest) there is no problem with getting the nano server on the server

但是将防雷图像发送到服务器仍然是一个问题。

But still a problem with getting mine image to the server.

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

So I'm guessing I should use a specific version of the nano server.

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

I have tried with these in my 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 Server 2016不支持基于Windows Server 1709版或Windows Server 1803版的容器。但是,Windows 10版本1803 支持通过Hyper-V隔离模式进行,这就是为什么图像能够在您自己的计算机上正常工作的原因。

This error message typically indicates that the host system is running an older kernel version than that of the Docker image. As you can see in the table on the Windows Container Version Compatibility page, Windows Server 2016 doesn't support containers based on Windows Server version 1709 or Windows Server version 1803. However, Windows 10 version 1803 does support them through Hyper-V isolation mode, which is why the images were able to work correctly on your own machine.

您尝试使用不同的基本图像版本几乎是正确的,您只需要Windows Server的正确标签:

Your attempts at using different base image versions are almost correct, you simply need the right tag for Windows Server 2016, as listed under the "Windows Server 2016 amd64 tags" section of the aspnetcore image page on Docker Hub:

FROM microsoft / aspnetcore :2.0-nanoserver-sac2016 AS基础

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

This will use the build of the ASP.NET Core image that was built against the Windows Server 2016 version of the Nano Server image, which can then be used under a Windows Server 2016 host system.

这篇关于无法从docker提取图像,ProcessUtilityVMImage无法找到指定的路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 07:08