mysql连接测试不成功的原因有哪些
429
2022-10-20
如何解决VMware与docker在win10下共存
勿私放其他平台
Vmware自带虚拟化内核,但是在win10中Docker的工作需要依赖Hyper-V,本质上是Hyper-v和Vmware内核之间的冲突,毕竟二者提供了相同的功能。
PS:
安装Hyper-V服务其实也不是一个简单的事情,尤其是当你的系统是win10家庭版的时候,需要多走点流程,但是也很简单:
win10 Home版启用Hyper-v
pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-v.txtDism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
如何解决无法共存问题
开发过程中,我需要一会在VMware里、一会在docker里进行实验,冲突无法避免。
01
修改bcd
方法一
直接贴解决方案:
1.当你想用VMware
bcdedit /set hypervisorlaunchtype off
2.当你想用Docker
bcdedit /set hypervisorlaunchtype auto
每次切换之后必须进行reboot。这个方法下系统的功能和服务都不要管,也不要尝试手动去切换.
02
启用两个引导,一个启用Hyper-V,一个不启用Hyper-V
方法二
主要就是用到了bcdedit 启动项配置
大概思路我写下:
(1)首先将Hyper-V通过程序和功能中打钩启用,这样Docker就是可用的,but VM的不行的(2)复制一份启动项,将Hyper-V禁用(大概意思是这样,但不完全准确)这样就可以通过两种启动方式进入系统(3)使用默认方式登录,则Docker可用VM不可用;使用复制的新的启动方式,Docker可用,VM竟然也可用(一开始我也是不信的,但就是可以)
D1
win + X 开启命令行,注意:必须以管理员身份执行
bcdedit /copy {default} /d "Windows 10 Without Hyper-V"
以上命令得到输出 {xxxxxxxxxxxxxxxxxxx}
bcdedit /set {xxxxxxxxxxxxxxxxxxx} hypervisorlaunchtype off
D2
继续命令行窗口(查看所有启动项):
bcdedit /enum
可以发现多了一个启动项出来。重启电脑,再次开机的时候,会看到有两个启动选项此时,选择(no Hyper-V)进入系统,你就会发现Docker与VM和谐相处了。
03
升级Win10 2004以上或者LTSC 2021
终极解决方案
VMARE版本升级到15.5以上WIN10升级到2004版本以上Hyper-V为开启状态
安装wsl2 --windows下的Linux子系统。
让docker运行于WSL2系统中,这样就不影响与Vmware抢占Hyper-V了。
#用管理员模式启动PowerShell然后运行dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartEnable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux")这两个安装完成直接 重启 !!!!!!!!!重启!!!!!!#这里的就是你安装的WSL1的名称wsl --set-version
完成wsl配置
最终状态
2022年1月
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~