环境
操作系统:win10 home 18363.959
docker: 官网地址,迅雷下载
虚拟机: win10自带的hyper-V
虚拟机镜像:https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso 迅雷下载
关键步骤
1. 官网docker桌面 window版本不支持win10 home 18363.959版本,网上找到两段脚本
脚本地址:https://download.csdn.net/download/sg202060520/12696398 2积分够便宜吧
解压后为1.bat,2.bat。先执行1,执行完提示重启。再执行2,执行完重启。注意:重启前保存好代码,文档等。
执行完就可以安装docker桌面客户端了。
2. 安装成功,但用不了。比如,docker ps命令的错误。之后各种尝试应该都是徒劳,请尝试步骤三能否直接解决。
C:\WINDOWS\system32>docker -v
Docker version 19.03.12, build 48a66213fe
C:\WINDOWS\system32>docker ps
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
我认为徒劳的步骤:安装docker-machine,安装docker-toolbox,关闭hyper-v,启用docker-toolbox,卸载docker-toolbox,卸载docker,删除环境变量;再然后重新打开hyper-v,重新安装docker桌面版,在桌面客户端就启动了getting-started。
3. 最后做的事情成功了
bcdedit /set hypervisorlaunchtype auto
REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F
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
简单说明下:第一行开启hyper-V(可能是某部分),第二行win10家庭版伪装专业版,后面的指令对我太难了,貌似是。。。
接下来,执行完操作,没事重启下,没准就好了,成功之后也要继续重启验证,没准某些脚本临时有效。
成功成果
以下是成功之后的截图,只为找不到解决办法的同学们打气用,win10家庭版真的可以实现(我搞了3天,差点放弃了,走的弯路太多了)。
FAQ
1. docker桌面启动失败,提示hyper-V不能使用,powershell输入如下指令,重启电脑
bcdedit /set hypervisorlaunchtype auto
2. 启动时,80端口冲突