win10家庭版安装docker解决方案

win10家庭版安装docker解决方案

安装docker,hyper-v

1. 下载Docker Desktop Installer.exe先不安装
2. 修改注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
修改键EditionID
原为CoreCountrySpecific
改为Professional

电脑重启后这个值会恢复为CoreCountrySpecific,不会产生别的影响。

3. 安装

首次安装会重启,重启后需修改注册表,参照第二步

4. 安装hyper-V

将以下代码复制到文本文件,后缀改为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
5. 安装后开始菜单搜索hyper-v应该能搜到

这个是hyper-v管理器

如果搜不到:

控制面板->程序->启用或关闭windows功能

需要勾选hyper-v的所有内容

之后再在开始菜单搜索看是否出现

测试

1. 先退出DockerDesktop
2. 检查注册表是否已修改为Professional
3. 若是,则启动DockerDesktop

若没有启动DockerDesktop执行docker ps则会报错:

error during connect:Get http:///.../containers/josn;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 docker daemon is not running.

启动后,状态为docker starting时执行:docker ps会报错

Error response from daemon: open \\.\pipe\docker_engine_linux: The system cannot find the file specified.

启动后,状态为docker running时执行命令正常

PS C:\Users\gladiateur> docker ps
>>CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
PS C:\Users\gladiateur> docker version
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b
 Built:             Wed Mar 11 01:23:10 2020
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b
  Built:            Wed Mar 11 01:29:16 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
PS C:\Users\gladiateur>                                                                                                                           

注册表修改后发现当启动docker desktop时hyper-v管理器里多了一个虚拟机,并且是“正在运行”。当退出docker desktop时该虚拟机状态变为“关闭”

若注册表的值仍为修改前的CoreCountrySpecific,那么无论启动或是退出docker desktop该虚拟机的状态都是“关闭”。

4. 计算机重启后需先需改注册表再重启docker desktop
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值