欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Win10家庭版安装Docker for windows

程序员文章站 2022-04-14 09:41:18
...

一、前面准备

要想在win10中安装Docker for windows,我们需要开启Hyper-V,但是只有win10专业版才拥有Hyper-V,所以我们需要通过脚本在家庭版上开启Hyper-V,再安装Docker Desktop。

在网上查询资料很多都是喊我们安装Docker toolbox,总体来说是不如Docker for windows的。Docker toolbox与Docker for windows两个不能很好的共存,同时安装是会出现问题的,而且即使安装过toolbox后再卸载之后安装docker for win也会出现一些错误。

docker运行是需要linux内核的,为了能在非linux系统使用docker,官方早期提供的Toolbox方案就是使用虚拟机启动一个linux,然后在这个虚拟机中运行docker,免费的虚拟机当时使用最多的就是virtualbox
现在有原生版本的docker了,在windows上是使用的windows10内置的hyper-v虚拟机,所以不在需要安装virtualbox,但是对系统的要求也提高了,因为hyper-v的虚拟机只有部分版本的windows10才有内置,比如家庭版的windows10就没有hyper-v组件,不能运行原生版本的docker,还是只能通过toolbox

二、开启Hyper-v

在电脑任意地方新建文本文件,将下面的内容复制进去,最后保存为.cmd文件,比如hyperv.cmd

安装了Hyper-v之后,virtualbox和vmware之类的虚拟机就无法使用,解决办法网上还是比较多

如果想要关闭Hyper-v来使用vmware之类的虚拟机的话,需要在之前勾选Hyper-v处取消勾选,并以管理员方式打开powershell输入
bcdedit /set hypervisorlaunchtype off
之后重启即可正常使用其他虚拟软件
重新开启hyper-v需要重新勾选之前取消的Hyper-v选项,然后以管理员方式打开powershell输入
bcdedit /set hypervisorlaunchtype auto

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

右击文件选择以管理员身份运行
Win10家庭版安装Docker for windows
耐心等待,如果系统要你重启,选择重启。
进入控制面板->程序和功能->启用或关闭Windows功能,检查下图中Hyper-V是否已经勾选,如未勾选,请勾选
Win10家庭版安装Docker for windows

三、伪装成win10专业版

以管理员身份打开cmd,并执行如下命令:

REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F

该注册表项在下次重启之后会自动还原,所以不必担心会对系统造成影响,而docker目前只在安装过程中检查该项,因此对未来docker的使用也不会有太大影响。该注册表项在下次重启之后会自动还原,所以不必担心会对系统造成影响,而docker目前只在安装过程中检查该项,因此对未来docker的使用也不会有太大影响。

四、下载Docker for Windows

官网下载Docker Desktop Installer.exe
安装很简单,简单的等待之后就安装完成了。

接下来测试下是否安装成功:

docker version
docker ps
docker run hello-world

Win10家庭版安装Docker for windows
Win10家庭版安装Docker for windows
安装完成大家可以按照自带的教程跟着学习学习,对之后的使用比较有帮助。

相关标签: 笔记