场景
Windows10中Docker的安装与遇到的那些坑:
Windows10中Docker的安装与遇到的那些坑_在 docker.core.logging.httpclientexceptionintercept-CSDN博客
上面讲Docker Desktop在windows10非家庭版上的安装,如果是家庭版,则需要执行如下步骤。
注:
博客:
霸道流氓气质-CSDN博客
实现
1、虚拟化检查
打开任务管理-性能,查看是否虚拟化已经支持,若未支持则需要重启进入BIOS打开虚拟化支持。

2、安装虚拟机并开启Hyper-V功能、虚拟机功能。
因为Win10家庭版没有安装虚拟机,所以通过安装一个
新建一个txt文件,并将如下内容复制进去
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
然后将此txt文件修改后缀名为.cmd,然后以管理员身份运行该cmd文件
等待运行结束后根据提示重启,输入Y并重启计算机。

此时启用或关闭系统功能中才会有Hyper-V选项。
【控制面板】-【程序】-【启用或关闭Windows功能】找到Hyper-V打上勾
然后再将Windows虚拟机监控程序平台、适用于Linux的Windows子系统、虚拟机平台这三个功能勾选上并开启

3、修改注册表,伪装专业版
以管理员身份打开cmd,执行如下
REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F

此处是将注册表的值修改为Professional以使能正常运行,即伪装成win10专业版。
4、下载安装Docker Desktop
Docker Desktop: The #1 Containerization Tool for Developers | Docker
下载之后双击进行安装

安装时会默认勾选使用WSL2替代Hyper-V选项以及创建桌面快捷方式选项。
这里将Use WSL 2 instead of Hyper-V(recommended)选项勾掉。
否则Docker Desktop会一直处于Stopped状态且无明显报错提示,即使卸载重装、查看内存和磁盘分配、排查网络问题也不行。
所以最后只能将Docker Desktop重新卸载掉,然后安装时取消勾选Use WSL 2 instead of Hyper-V(recommended)选项才解决
Docker Desktop一直提示Docker Engine stopped的问题。

取消勾选并启动成功

5、上面启动成功之后,可打开cmd输入
docker version
验证

因为墙的原因无法直接使用界面上的搜索,所以直接在cmd命令框中进行搜索
以搜索jenkins为例
docker search jenkins

CentOS中使用Docker安装Jenkins:
CentOS中使用Docker安装Jenkins-CSDN博客
参考以上文章进行拉取镜像,发现部分依赖无法拉取,提示超时

因为默认镜像源没有修改的原因。
Docker Desktop如何修改镜像源?
设置-Docker Engine,修改配置文件,添加如下内容
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"https://reg-mirror.qiniu.com"
]
分别是网易/科大镜像/Docker官方/七牛云,也可以加其他的如阿里云
注意添加位置,符合json格式,前面添加逗号。

此时再拉取镜像则成功
