虚拟化嵌套搭建指南
说通俗点,在虚拟机中使用hyper-v
前言
作为一个docker使用者,在开发和调试的过程中使用繁琐的命令行是比较折磨的。尤其是像我这种对命令不熟悉的小白,每次都要翻越手册和笔记。于是,docker官方提供了能运行在3个系统上的docker desktop,并且随着版本不断地更新和迭代,docker desktop已经能覆盖绝大多数学习时用到的命令,极大程度简化了学习成本。
可以这么说,如果你是刚入门的小白,把docker基础命令过一遍,然后再去使用docker desktop,可以让你直接成为一个半资深的docker使用者。
但是,由于docker desktop安装时默认安装c盘,只能通过软连接的方式把应用装到其他盘里,再通过一系列高端技巧把镜像仓库也运到别的盘里(反正我失败了)。而我们知道,往往一个镜像就几百MB甚至几GB的大小,下载下来后,你还需要本地进行修改保存。这样下来,docker吃起空间来完全是不讲道理的。那么能不能把docker desktop扔到移动硬盘上去,即插即用呢?
于是,我想到了使用虚拟机VMware Station 16 pro,搭建一台win10虚拟机,并把它储存在移动硬盘上。正巧的是,微软官网最近也写了相关的文章,进一步证明了这一操作的可行性。
本机操作流程
检查本机cpu是否开启虚拟机
这个没什么好说的,默认都开了,没开的去BIOS里慢慢折腾吧。
更新VMware到最新版本
(当前为16.2.4 build-20089737)
大坑来了。在更新的过程中,疯狂提示这个报错
笑嘻了,这不有手就行?
点开这个,找个最新的下载一下,重启一下,完事咯~
Microsoft Visual C++ Redistributable latest supported downloads
感觉就是在侮辱我的智商。找个x64版本下载、安装、重启,点开VMware的更新,依然报这个错。于是折腾了一下午,想了很多可能出现问题的地方,依然无果。就是因为这个报错,差点直接让我放弃了进一步操作的念头。因为我也没有经验,只不过在零星的资料中,判断这一步可能是比较关键的一步。
那么这个bug到底是怎么解决的呢?
麻了,在刚刚的链接里找个x86版本下载、安装、重启,更新完毕。焯!
升级虚拟机
更改虚拟机设置
在处理器的虚拟化引擎里勾选第一项。然后看看能不能开启虚拟机。当然,如果这个时候启动成功没有报错,那么恭喜,你已经成功了。
启动时报错此平台不支持虚拟化的Intel VT-x/EPT
第二个大坑来了
启用或关闭windows功能
功能名称 | 开关状态 |
---|---|
Windows沙盒 | 关闭 |
Hyper-V(家庭版是没有的) | 关闭 |
虚拟机平台 | 打开 |
关闭内核隔离
打开Windows安全中心>设备安全性>内核隔离,关闭
cmd输入
1 | bcdedit /set hypervisorlaunchtype off |
重启电脑
此时再次打开虚拟机,应该没有什么问题了
win10虚拟机操作流程
这个就是正常的安装docker的操作了,没什么难点和坑点,在我之前的笔记里也有详细地介绍。
方便本机访问虚拟机
桥接+复制,开机后ipconfig即可。
启动docker desktop报错wsl出了问题
下载一个wsl.msi,安装完重启一下虚拟机即可。
参考资料
VMWare安装报错:此安装程序要求您重新启动系统以完成 Microsoft VC Redistributable安装,然后重新运行该安装程序。