起因
Docker作为一个容器化技术的热门工具,常常用于服务的快速布设和运维。个人也是沉迷于Docker带来的便利,习惯在Linux服务器上使用Docker。但是由于,最近服务器到期了,并且最近没有续费的打算,所以急需在Windows上进行Docker的安装。
之前其实在win10上安装过Docker,但是,由于我的win10是家庭版的,当时是通过Docker Toolbox进行的安装,还额外安装了虚拟机,整个体验比较差,后来就删除了。
由于Windows10家庭版中默认没有Hyber-V,所以通过一般途径是无法安装 Docker最新版 了😕。
*[Docker最新版]: 这里的docker最新版,特指Docker Desktop
但是,谁奈万能的网友十足给力,找到了家庭版开启Hyber-V的方法 :smile:,不敢私藏,这就分享如下:
安装Window下的Docker
by using Docker Desktop
1. 安装Hyber-V
首先就是代码糊脸,通过将下方的代码复制到记事本中,并另存为enable_hyber_v.cmd
,之后直接右击该脚本,通过管理员模式
运行,就会看到已经开始安装Hyber-V了,整个安装过程时间较久。
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
经过一段时间的耐心等候之后,会提示回复Y
进行重启,重启之后,就可以看到自己的Hyber-V已经安装好了。:dog:
2. 安装Docker Desktop
如果是掌握“魔法”的小伙伴,可以通过直接访问Docker Desktop for Windows无需注册来到下图的页面,获取最新的Windows下的Docker安装包。
这里我也把官方的下载链接贴在这里:
官方下载链接🔗
难道,不会魔法的普通人,就不能下载了吗?:cry:,不🙅,我不允许这样的情况存在,遂将自己的下载好的最新版的Docker Desktop安装包放在了万能的CSDN上,点击下方的传送门,直达下载资源的页面:
这里特分享一个国内的Docker资源网站:DaoCloud,上面也有windows下的docker的下载,但是!我要说但是了,上面的资源版本很旧,我反正用那个没有安装成功,都没有机会点击下一步,如果有兴趣的童鞋可以试一下。
下载好之后,直接进行运行即可,下图为安装截图
如果有问题,可以参考文后的附录
安装好之后,直接点击关闭重启即可。
完结★,°:.☆( ̄▽ ̄)/$:.°★ 。
附录
欢迎随时提问,这里会将问题汇总进行补充。
目前问题1
如果直接运行安装提示检测到是Home version的系统
之类的话,可以通过修改注册表进行绕过,绕过之后,理论上就可以进行安装了,安装完之后,就算改回也不会影响使用。
By the way, 我是用DaoCloud上的旧版时,遇到了这个问题,但是即使修改了注册表也没有用,这才使用的最新版,所以如果使用了DaoCloud里的安装包之后,遇到这个问题,该方初步断定无效。
具体解决方案
打开注册表,定位到
HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion
,点击current version
,在右侧找到EditionId
,右键点击EditionId
选择“修改“,在弹出的对话框中将第二项”数值数据“
的内容改为Professional
,然后点击确定。
也可以使用命令直接修改REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F
修改之前,请备份注册表;重启计算机后,注册表中的值将恢复,但不会影响Docker使用。
目前问题2
安装重启之后,提示如下图:
解决方案
这是在说我们需要升级WSL2的内核了,直接点击链接,到官网上进行升级即可。
为了方便,我直接把下载链接放在这里,国内下载速度虽慢,但由于比较小,还是可以下载下来的,如果大家想下载快点儿,也可以到我分享的资源下载,两个,链接分别放出来:
官网:适用于 x64 计算机的 WSL2 Linux 内核更新包
个人转存CSDN:适用于 x64 计算机的 WSL2 Linux 内核更新包
这里额外说明几点:
- WSL即:
适用于 Linux 的 Windows 子系统
- WSL 2 仅适用于 Windows 10 版本 1903、内部版本 18362 或更高版本。 通过按 Windows 徽标键 + R,检查你的 Windows 版本,然后键入 winver,选择“确定”。 (或者在 Windows 命令提示符下输入 ver 命令)。 你可能需要更新到最新的 Windows 版本。 低于 18362 的版本根本不支持 WSL。
- 可以通过
wsl -l -v
命令在windows下查看当前系统下的分发,及其运行状态。 - 可以通过
\\wsl$
从 Windows 访问 Linux 文件。 - 在win10 家庭版只能基于wsl2基础启用支持linux container,所以需要先安装wsl2(windows的子linux功能、hyper-v、微软发布的专用linux内核补丁),然后安装docker desktop,会同步安装windows container feature(但实际只能支持linux container);在win10 pro或enterprise版本上可以在windows container或linux container之间转换。
目前问题3
在Docker Desktop中有一个例子,可以在界面上进行运行,但是有一点,就是很多包都是需要引入外网的,这里为了方便,就修改了其中的Dockerfile中的部分内容,加入了国内源,可以正常地进行运行演示。
解决方案
由于这里不能传文件,我还是实例上传到CSDN,需要的同学可以来下载,下载之后,直接解压到C:\Users\<你的用户名>\getting-started
目录下,将原文件覆盖掉就好了。