本人之前写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命令,能看到版本号,这就能验证我装成功了。


 

  

在windows 10家庭版上安装docker的步骤的更多相关文章

  1. 在Windows 10 64-bit上安装Windows SDK 7.1和.NET4

    目的: 成功在window10上安装window sdk7.1 和 .NET Framework 4 需求: support some older software written in Visual ...

  2. 在 Windows 10 x64 上安装及使用 ab 工具的流程

    本文转自:www.shuijingwanwq.com/2017/04/18/1568/ 1.基于AB测试工具进行高并发情形下的模拟测试,打开:http://httpd.apache.org/docs/ ...

  3. windows 10系统 上安装scrapy

    1.python的安装(我已安装完) 2.pip的安装(我已安装) 3.安装twisted https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 命令 ...

  4. Windows 上安装docker

    Windows 上安装docker //(第一种)下载boot2docker https://github.com/boot2docker/windows-installer/releases //( ...

  5. 如何在windows10家庭版上搭建docker

    如何在windows10家庭版上搭建docker 建议先跳到最后一条,看完之后再决定是否安装. 0X00搭建原因 首先搭docker的想法是我在复现漏洞时候,发现大佬们的复现环境都是基于docker的 ...

  6. win 10 家庭中文版安装docker ,但是没有 Hyper-V , 这样一步搞定

    本人要在 win 10 上安装docker,找了安装教程,按照安装教程,第一步开启Hyper-V 虚拟机,但是发现自己电脑上没有这个选项 然后找到了这位仁兄  http://www.win7999.c ...

  7. Centos7上安装docker (转)

    Centos7上安装docker Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如 ...

  8. 简单介绍一下在CentOS上安装Docker。

    简单介绍一下在CentOS上安装Docker. 前置条件: 64-bit 系统 kernel 3.10+ 1.检查内核版本,返回的值大于3.10即可. $ uname -r 2.使用 sudo 或 r ...

  9. linux上安装Docker(非常简单的安装方法)

    Docker的三大核心概念:镜像.容器.仓库 镜像:类似虚拟机的镜像.用俗话说就是安装文件. 容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例, 可以将其启动.开始.停止.删除.而这些容器都是 ...

随机推荐

  1. Linux 系统 Oracle 11g 修改监听端口

    1.查看监听:lsnrctl status 2.停止监听:lsnrctl stop 3.修改oracle安装目录的下的配置文件listener.ora:一般路径为自己Oracle安装目录+/app/o ...

  2. Codeforces 1009E Intercity Travelling | 概率与期望

    题目链接 题目大意: 一个人要从$A$地前往$B$地,两地相距$N$千米,$A$地在第$0$千米处,$B$地在第$N$千米处. 从$A$地开始,每隔$1$千米都有$\dfrac{1}{2}$的概率拥有 ...

  3. pycharm基本使用python的注释语法

    pychram基本使用 1.主题选择 file settings Editor color Scheme 2.pycharm切换解释器 file settings Project Python Int ...

  4. HashSet的remove方法(一道面试题)

    1 public class CollectionTest { 2 3 @Test 4 public void test3(){ 5 HashSet set = new HashSet(); 6 Pe ...

  5. dart系列之:dart中的异步编程

    目录 简介 为什么要用异步编程 怎么使用 Future 异步异常处理 在同步函数中调用异步函数 总结 简介 熟悉javascript的朋友应该知道,在ES6中引入了await和async的语法,可以方 ...

  6. MySQL 1064 错误

    ERROR 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL s ...

  7. [hdu7074]Little prince and the garden of roses

    显然每种颜色的花是独立的,可以分别求出答案后取$\max$ 对于某种颜色$C$,建立一张二分图,左右分别为$n$行$n$列,且第$i$行和第$j$列有边当且仅当$c_{i,j}=C$ 此时,问题即对边 ...

  8. [cf1349D]Slime and Biscuits

    枚举最终的获得所有饼干的人$i$(以下简称"获胜者"),对于$i$获胜的情况,令其贡献为游戏轮数,否则其贡献为0,记$F_{i}$为期望贡献(即所有情况概率*贡献之和),答案即为$ ...

  9. [bzoj3329]Xorque

    首先将问题转化为2x^x=3x,那么相当于让x右移一位和原数的1不相交,即不含有相邻的1,第一个问题可以直接数位dp,第二个问题可以类似dp+矩乘优化即可 1 #include<bits/std ...

  10. SpringCloud微服务实战——搭建企业级开发框架(二十三):Gateway+OAuth2+JWT实现微服务统一认证授权

      OAuth2是一个关于授权的开放标准,核心思路是通过各类认证手段(具体什么手段OAuth2不关心)认证用户身份,并颁发token(令牌),使得第三方应用可以使用该token(令牌)在限定时间.限定 ...