简体   繁体   English

Windows 10 上 Docker-Desktop 的 Hyper-V 和数据执行的错误消息无法启动

[英]Error Message for Hyper-V and Data Execution for Docker-Desktop on Windows 10 Failing to Start

So when I installed Docker Desktop on Windows 1909 and an Insiders Version and am getting this issue.因此,当我在 Windows 1909 和 Insiders 版本上安装 Docker 桌面并遇到此问题时。 Furthermore, I have Hyper-V enabled and Data Execution Protection enabled.此外,我启用了 Hyper-V 并启用了数据执行保护。 I also checked the Windows settings in the Programs and Features.我还检查了程序和功能中的 Windows 设置。 I have also made a GitHub issue as well.我也提出了一个 GitHub 问题。

----------------------------------------
System.Runtime.InteropServices.WindowsRuntime
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.InteropServices.WindowsRuntime/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.InteropServices.WindowsRuntime.dll
----------------------------------------
Windows.Data
    Assembly Version: 255.255.255.255
    Win32 Version: 10.0.10011.16384
    CodeBase: file:///C:/WINDOWS/system32/WinMetadata/Windows.Data.winmd
----------------------------------------
System.ValueTuple
    Assembly Version: 4.0.3.0
    Win32 Version: 4.6.26515.06
    CodeBase: file:///C:/Program%20Files/Docker/Docker/System.ValueTuple.DLL
----------------------------------------
System.Collections
    Assembly Version: 4.0.11.0
    Win32 Version: 4.6.25714.01
    CodeBase: file:///C:/Program%20Files/Docker/Docker/System.Collections.DLL
----------------------------------------
Docker.Win32Helpers
    Assembly Version: 1.0.7257.10303
    Win32 Version: 
    CodeBase: file:///C:/Program%20Files/Docker/Docker/Docker.Win32Helpers.DLL
----------------------------------------
System.Net.Http
    Assembly Version: 4.2.0.0
    Win32 Version: 4.6.26011.01
    CodeBase: file:///C:/Program%20Files/Docker/Docker/System.Net.Http.DLL
----------------------------------------
System.Management.Automation
    Assembly Version: 3.0.0.0
    Win32 Version: 10.0.19041.1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management.Automation/v4.0_3.0.0.0__31bf3856ad364e35/System.Management.Automation.dll
----------------------------------------
PresentationFramework.Aero2
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/PresentationFramework.Aero2/v4.0_4.0.0.0__31bf3856ad364e35/PresentationFramework.Aero2.dll
----------------------------------------
System.Resources.ResourceManager
    Assembly Version: 4.0.1.0
    Win32 Version: 4.6.25714.01
    CodeBase: file:///C:/Program%20Files/Docker/Docker/System.Resources.ResourceManager.DLL
----------------------------------------
WindowsFormsIntegration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/WindowsFormsIntegration/v4.0_4.0.0.0__31bf3856ad364e35/WindowsFormsIntegration.dll
----------------------------------------
System.Web.Http
    Assembly Version: 5.2.7.0
    Win32 Version: 5.2.61128.0
    CodeBase: file:///C:/Program%20Files/Docker/Docker/System.Web.Http.DLL
----------------------------------------
Docker.HttpApi
    Assembly Version: 2.1.0.40693
    Win32 Version: 2.1.0.40693
    CodeBase: file:///C:/Program%20Files/Docker/Docker/Docker.HttpApi.DLL
----------------------------------------
Microsoft.Owin
    Assembly Version: 4.0.1.0
    Win32 Version: 4.0.80118.116
    CodeBase: file:///C:/Program%20Files/Docker/Docker/Microsoft.Owin.DLL
----------------------------------------
Owin
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0
    CodeBase: file:///C:/Program%20Files/Docker/Docker/Owin.DLL
----------------------------------------
HttpOverStream.NamedPipe
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/Docker/Docker/HttpOverStream.NamedPipe.DLL
----------------------------------------
HttpOverStream
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/Docker/Docker/HttpOverStream.DLL
----------------------------------------
HttpOverStream.Server.Owin
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/Docker/Docker/HttpOverStream.Server.Owin.DLL
----------------------------------------
Microsoft.Owin.Hosting
    Assembly Version: 4.0.1.0
    Win32 Version: 4.0.80118.116
    CodeBase: file:///C:/Program%20Files/Docker/Docker/Microsoft.Owin.Hosting.DLL
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
    Assembly Version: 0.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
System.Web.Http.Owin
    Assembly Version: 5.2.7.0
    Win32 Version: 5.2.61128.0
    CodeBase: file:///C:/Program%20Files/Docker/Docker/System.Web.Http.Owin.DLL
----------------------------------------
System.Net.Http.Formatting
    Assembly Version: 5.2.7.0
    Win32 Version: 5.2.61128.0
    CodeBase: file:///C:/Program%20Files/Docker/Docker/System.Net.Http.Formatting.DLL
----------------------------------------
SMDiagnostics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/SMDiagnostics/v4.0_4.0.0.0__b77a5c561934e089/SMDiagnostics.dll
----------------------------------------
System.Threading.Tasks.Extensions
    Assembly Version: 4.2.0.0
    Win32 Version: 4.6.26606.05
    CodeBase: file:///C:/Program%20Files/Docker/Docker/System.Threading.Tasks.Extensions.DLL
----------------------------------------
HttpOverStream.Client
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/Docker/Docker/HttpOverStream.Client.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

I am curious if there is something I can do to fix the exception.我很好奇是否可以做些什么来修复异常。 Also, before the update I could get both Virtualbox VMs and Docker to work side-by-side using Hyper-V as the hypervisor for my Linux boxes.此外,在更新之前,我可以使用 Hyper-V 作为 Linux 机器的管理程序,让 Virtualbox VM 和 Docker 并行工作。 I have checked to see if it was enabled in the BIOS and within the services on Windows SCM and it was definitely enabled.我已经检查过它是否在 BIOS 和 Windows SCM 上的服务中启用,并且确实启用了。 Any help would be greatly appreciated.任何帮助将不胜感激。

Github Issue: https://github.com/docker/for-win/issues/6689 Github 问题: https : //github.com/docker/for-win/issues/6689

Expected behavior I have two versions of Windows both with Insiders Builds.预期行为 我有两个版本的 Windows,都带有 Insiders Builds。 One has a functional Docker and I can run both Linux and Windows Containers just fine.一个有一个功能强大的 Docker,我可以很好地运行 Linux 和 Windows 容器。 However, after the recent update and the enable-ment of WSL 2 I am seeing that one of my machines is no longer functional with Docker Desktop.但是,在最近的更新和 WSL 2 的启用之后,我发现我的一台机器不再能与 Docker Desktop 一起使用。 I would expect to be able to restart my computer and the docker daemon would start.我希望能够重新启动我的计算机并启动 docker 守护进程。 Furthermore, I would expect that Re-installing it would work as well.此外,我希望重新安装它也能工作。 I have checked both my BIOS and Have installed Hyper-V and have followed through all of the troubleshooting advice possible.我已经检查了我的 BIOS 并安装了 Hyper-V,并遵循了所有可能的故障排除建议。

Actual behavior Prior to the update, I used to have a functional working Docker Desktop and now it no longer works, which is causing havoc for development workflows.实际行为在更新之前,我曾经有一个正常工作的 Docker 桌面,现在它不再工作,这对开发工作流程造成了严重破坏。

在此处输入图片说明

在此处输入图片说明

So I fixed this by enabling hyper-v from cmdlet.所以我通过从 cmdlet 启用 hyper-v 来解决这个问题。

I visited this site, and the solution posted here worked for me.我访问了这个网站,这里发布的解决方案对我有用。 https://redmondmag.com/articles/2018/11/16/installing-hyperv-module-for-powershell.aspx https://redmondmag.com/articles/2018/11/16/installing-hyperv-module-for-powershell.aspx

Furthermore, I have noticed that an issue is also occurring within WSL 2 on the newest update.此外,我注意到最新更新的WSL 2也出现了一个问题。 Try the following if Docker-Desktop is not working on startup and just stays in a for-loop initializing:如果 Docker-Desktop 在启动时不工作并且只是停留在 for 循环初始化中,请尝试以下操作:

Enter The following commands within an elevated command prompt:在提升的命令提示符中输入以下命令:

  1. Enable Hyper V - You can do this by running the following command as administrator.启用 Hyper V - 您可以通过以管理员身份运行以下命令来执行此操作。
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
  1. Enable Hypervisor with following command.使用以下命令启用管理程序。
bcdedit /set hypervisorlaunchtype auto

Research: https://dotnetthoughts.net/hardware-assisted-virtualization-and-data-execution-protection-must-be-enabled/研究: https : //dotnetthoughts.net/hardware-assistant-virtualization-and-data-execution-protection-must-be-enabled/

Then Restart and prompt asks to download the Linux Kernel然后重启并提示要求下载Linux Kernel

Apparently Docker Desktop is forgetting this in their initial set-up for the updates and installation for anybody using Hyper-V and the Linux Containers requiring the WSL2 Linux Kernel Backend to initialize Containers.显然,Docker Desktop 在他们的初始设置中忘记了这一点,以便为任何使用 Hyper-V 和需要 WSL2 Linux 内核后端来初始化容器的 Linux 容器的人进行更新和安装。 provided by Microsoft.由微软提供。

Microsoft Link: https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel微软链接: https : //docs.microsoft.com/en-us/windows/wsl/wsl2-kernel

Download the above ^^下载上面的^^

In a Response to the recent Docker Desktop Issues for People Updating to the Newest Broke Version, here is what worked for me (I downloaded from the Website after uninstalling and disabling Hyper-V Module and then reproduced it again under the chocolatey version):在对最近更新到最新版本的 Docker 桌面问题的回应中,以下是对我有用的内容(我在卸载和禁用 Hyper-V 模块后从网站下载,然后在巧克力版本下再次复制它):

Windows视窗

Here is what worked for me: If you want to do it on Windows I would do the following: 1. Uninstall Everything Related to Docker-Desktop in Control Panel and disable Hyper-V https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v 2. If you are using Chocolatey you can uninstall all of that there too with choco uninstall package and disable Hyper-V https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v 3. Restart your Machine and Enter BIOS Menu and Make sure you have Virtualization and/or Hyperthreading Enabled.以下是对我有用的方法:如果您想在 Windows 上执行此操作,我会执行以下操作: 1. 在控制面板中卸载与 Docker-Desktop 相关的所有内容并禁用 Hyper-V https://docs.microsoft.com/en- us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v 2. 如果您使用的是 Chocolatey,您也可以使用choco uninstall package卸载所有这些并禁用 Hyper-V https://docs .microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v 3. 重新启动您的机器并进入 BIOS 菜单并确保您已启用虚拟化和/或超线程。

Use this link to see how to get into BIOS: https://support.lenovo.com/us/en/solutions/ht500006 You may need to reset your BIOS to default (Note not all Machines Support Virtualization) 4. Allow for normal boot to occur 5. Enable Hyper-V for Windows 10 https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v 6. Run through the following in an elevated command prompt and allowing for administrative access by right-clicking on command prompt:使用此链接查看如何进入 BIOS: https : //support.lenovo.com/us/en/solutions/ht500006您可能需要将 BIOS 重置为默认值(注意并非所有机器都支持虚拟化) 4. 允许正常5. 为 Windows 10 启用 Hyper-V https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v 6. 运行跟随提升的命令提示符并通过右键单击命令提示符允许管理访问:

dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
bcdedit /set hypervisorlaunchtype auto
  1. Restart Your Computer One More Time再重新启动计算机一次
  2. Boot up开机
  3. You can go to Docker-Desktop or you can install it with Chocolatey If you want to install it via website, I assume you know where to go.你可以去 Docker-Desktop 或者你可以用 Chocolatey 安装它如果你想通过网站安装它,我假设你知道去哪里。 Get the Stable Version.获取稳定版。 10 (Option A). 10(选项 A)。 Install as normal via https://www.docker.com/products/docker-desktop 10 (Option B).通过https://www.docker.com/products/docker-desktop 10(选项 B)正常安装。 Use Chocolatey: Open up powershell in elevated admin console and install chocolatey使用 Chocolatey:在提升的管理控制台中打开 powershell 并安装 Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

https://chocolatey.org/install https://chocolatey.org/install

Then after you install it run:然后安装后运行:

choco install docker-desktop

Chocolatey Link: https://chocolatey.org/packages/docker-desktop#releasenotes Docker Release Notes: https://docs.docker.com/docker-for-windows/release-notes/巧克力链接: https: //chocolatey.org/packages/docker-desktop#releasenotes Docker 发行说明: https ://docs.docker.com/docker-for-windows/release-notes/

Whatever you decide, you need to make sure 1. Your System Supports Virtualization 2. You have that enabled in System BIOS 3. Makes sure you have downloaded the WSL 2 background: https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel无论您做出什么决定,您都需要确保 1. 您的系统支持虚拟化 2. 您已在系统 BIOS 中启用该功能 3. 确保您已下载 WSL 2 背景: https : //docs.microsoft.com/en-us/ windows/wsl/wsl2-内核

Hope this helps, I too have had so many problems with Docker-Desktop as of late.希望这会有所帮助,最近我在 Docker-Desktop 上也遇到了很多问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Docker 镜像和容器位置与 Windows 10 使用 hyper-v - Docker images and containers location with Windows 10 using hyper-v 无法在 windows 10 上使用 Hyper-V 启动 minikube - Unable to start minikube with Hyper-V on windows 10 在 Windows 中启动 docker 时出现 Hyper-V 错误 - Hyper-V error when starting docker in windows 如何使用Docker Desktop / Hyper-V / MobyLinuxVM从Windows主机LAN透明地访问Linux容器 - How to acces transparently Linux container from Windows host LAN with Docker Desktop / Hyper-V / MobyLinuxVM 从 Windows 10 PgAdmin 连接安装在 Hyper-V Ubuntu 中的 docker 中的 PostgreSQL - Connecting PostgreSQL installed in docker inside Hyper-V Ubuntu from Windows 10 PgAdmin 手动删除Hyper-V中的MobyLinuxVM后,Windows 10上的Docker无法启动 - Docker on windows 10 can't startup after deleting MobyLinuxVM in Hyper-V manually 导出/保存? Linux 上的 Docker 容器到硬盘,以便在没有 Hyper-V 的情况下在 Windows 10 中导入/加载它? - Export/Save? Docker container on Linux to hard drive in order to Import/Load it in Windows 10 without Hyper-V? 在 Windows 10 Home(无 Hyper-V)上安装时出现 Intel HAXM 错误 - Intel HAXM Error when Installing on Windows 10 Home (No Hyper-V) Windows 10 Pro 和 Hyper-V 上的 Vagrant SMB 共享文件夹上的“一般访问被拒绝错误” - Vagrant on Windows 10 Pro and Hyper-V "General access denied error" on SMB shared folder 在Windows 10中创建Hyper-V管理员组 - Creating Hyper-V Administrators group in Windows 10
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM