如何解决 Android 模拟器与 Docker Desktop 关于 Hyper-V 的冲突

前言

以前折腾过一段时间的 Docker Desktop,发现要使用 Docker Desktop 话就需要启用 Hyper-V,但是很多 Android 模拟器又会要求禁用 Hyper-V,对于要同时使用 Android 模拟器与 Docker Desktop 的笔者来说,两者无法兼得是一件头疼的事情。

但好在,有越来越多的 Android 模拟器厂家注意到了这个问题,因此本文便来说明一下如何解决这个问题。

省流助手

如果你只是想看结果的话,那么请安装 逍遥模拟器蓝叠模拟器MuMu模拟器12雷电模拟器中的一个即可,其中主要推荐逍遥模拟器(据说性能较好)和MuMu模拟器12(经过实测)。

在此要特别注意的是MuMu模拟器一定要安装 12 版本的,不要安装成 6 版本的,旧版本的MuMu模拟器还不支持启用 Hyper-V。

从 Hyper-V 说起

通过查找资料可知:

Hyper-V 是由 Microsoft 开发的一种虚拟化技术,它允许在一台物理计算机上运行多个虚拟机。Hyper-V 是 Windows Server 操作系统的一部分,并且也可以作为独立的 Hyper-V Server 版本使用。它提供了强大的虚拟化功能,包括硬件虚拟化、内存管理、网络虚拟化和存储虚拟化等。Hyper-V 可以帮助企业节省硬件成本、提高服务器利用率,并简化 IT 管理。它广泛应用于服务器虚拟化、开发和测试环境、云计算和容器化等场景中

但是,在 Android 模拟器的场景下,由于种种原因,往往需要禁用 Hyper-V,例如:

如何关闭 Hyper-V/VBS、内核隔离

image-20240115001543302

但是,Docker Desktop 又需要启用 Hyper-V

System requirements

image-20240115001824888

所以这当中就存在一个矛盾,这 Hyper-V,是开还是不开呢?

启用 Hyper-V

在此之前,先看下如何启用和禁用 Hyper-V

1.打开控制面板,找到程序一栏

image-20240115002144213

image-20240115002213839

2.点击启用或关闭Windows功能

image-20240115002233296

3.然后就可以看到 Hyper-V 相关的配置了,勾选或取消勾选即可启用或关闭。这里我们选择勾选。之后会提示你重启计算机,可以稍后再重启。

image-20240115002307994

安装支持 Hyper-V 的 Android 模拟器

可以安装 逍遥模拟器蓝叠模拟器MuMu模拟器12雷电模拟器中的任何一个,其中主要推荐逍遥模拟器(据说性能较好)和MuMu模拟器12(经过实测),下文将以MuMu模拟器12为例。

前往MuMu模拟器12官网下载:https://mumu.163.com/

image-20240115002615637

安装完成之后直接点击运行即可,如果可以顺利进入主界面,则为成功(注意,要在启用 Hyper-V 后测试才有意义)

MuMu模拟器12无需特别设置即可在启用 Hyper-V 的情况下正常运行,如果运行失败的话可以尝试用管理员权限运行。

在启用 Hyper-V 的情况下,MuMu模拟器12的载入和运行会有些慢,论性能是比禁用 Hyper-V 的情况下是要差的,对性能有要求的可以考虑使用逍遥模拟器

到此为止解决了模拟器的问题,接下来解决 Docker Desktop 的问题。

安装 Docker Desktop

前往官网下载即可:Install Docker Desktop on Windows

然后一路安装即可。

如果可以顺利进入主界面且不闪退,即为安装成功。

image-20240115003226273

然后在命令行中执行以下命令

docker version

如果有类似以下输出的内容,则为安装成功。

image-20240115003425783

然后再执行

docker run hello-world

如果能看到Hello from Docker!,则为成功。

image-20240115003534247

以上,便完成了 Docker Desktop 的安装

总结

本文介绍了如何解决 Android 模拟器与 Docker Desktop 之间关于 Hyper-V 的冲突。文章首先介绍了问题的背景和痛点,即 Android 模拟器要求禁用 Hyper-V,而 Docker Desktop 需要启用 Hyper-V。然后,文章提供了解决方案:

  • 使用支持 Hyper-V 的 Android 模拟器:推荐使用逍遥模拟器和 MuMu 模拟器 12,它们经过实测性能较好。
  • 启用 Hyper-V 并安装 Docker Desktop:文章提供了启用 Hyper-V 和安装 Docker Desktop 的步骤,并验证了安装是否成功。

总结来说,通过选择合适的 Android 模拟器和正确配置 Hyper-V 和 Docker Desktop,可以解决 Android 模拟器与 Docker Desktop 之间的冲突。

【总结由 Chat LangChain 生成】