本人之前写Redis书和Spring Cloud Alibaba书时,发现一些分布式组件更适合安装在linux环境,而在搭建Redis等集群时,更需要linux环境。
本人日常练习代码和写书所用的机器,操作系统是windows 10家庭版,为了模拟linux环境,一种解决方法是安装docker。刚开始安装时,发现装不上,后来请教了别人,同时在网上找了些方法后,最终安装成功了。
自认为这个步骤不大顺利,中间也解决了若干问题,在这篇文章里,就详细列出安装步骤,并给出解决相关问题的方法,以供大家参考。
第一步,新建一个txt文件并将后缀改为.cmd,里面的内容如下。
pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" del hyper-v.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
随后以管理员的身份运行上述cmd文件。如果提示要重启,则重启下。
第二步,确认Hyper-V是否已经勾选,若未勾选,勾选下。该步骤可能也需重启电脑。
第三步,以管理员身份打开cmd,同时运行命令,修改注册表。
具体的做法是,在C:\Windows\System32目录下找到cmd.exe,右键点击,选择以管理员身份运行。
在该cmd命令窗口里,执行如下的命令,通过修改注册表,把电脑伪装成win10专业版。
REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T R
这里请务必注意,通过上述命令修改注册表以后,下次重启电脑后,该注册表的值会改回去,所以修改后,请立即安装docker。
第四步,从官网下载并安装docker。
官网地址是这个:https://hub.docker.com/editions/community/docker-ce-desktop-windows
安装好按提示重启即可。
按照不少文档的说明,至此可以完成安装动作,不过安装好以后,我还遇到了如下问题。
“WSL 2 installation is incomplete.”
这说明,我使用的wsl2版本老了,需要我自己手动更新一下,按照找到的文档,我去微软官网下载最新版的wsl2。
链接地址是这个:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下载更新后,还出现了类似如下的问题:
unable to resolve docker endpoint: open C:\Users\TomYuan\.docker\machine\machines\default\ca.pem: The system cannot find the path specified.
网上对此的说明是,在电脑上之前安装过docker其它版本,我回想下还真是。
网上给出的解决方案是:卸载docker 19,删除对应环境变量,删除C:\Program Files\Docker下文件,重新安装docker
不过,我只删除了如下图所示的Docker相关的环境变量,只是重启Docker,并没有卸载并安装,后来问题也解决了。
安装好docker后,运行 docker -v命令,能看到版本号,这就能验证我装成功了。