刚开始我以为在工作中,不可能会用到Windows系统下的Docker,但是现实是我遇到了!
一、安装Hyper-v
windows的docker其实只是一个外壳,本质上还是借助与windows平台的hyper-v创建虚拟机;
所有pull到本地的image都会存放在虚拟机中(C:\Users\Public\Documents\Hyper-V\Virtual hard disks),要改变路径的话只需在hyper-v管理器里设置虚拟硬盘位置就可以了。
但是专业版的Window系统才默认安装了Hyper-v,普通家庭版的并没有!
1、首先得判断我们得电脑是否支持Hyper-v虚拟化,执行以下命令:
systeminfo
如果支持,显示如下:
如果不支持,就不要白费心思啦!
2、在桌面创建一个 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
3、使用管理员身份运行上面的脚本:
最后会询问是否重启电脑,当然是Y:
4、重启完,我们在Windows功能与程序得目录中就可以看到Hyper-v功能了:
二、修改Hyper-v默认得数据存储位置
Hyper-v得默认数据存储位置在C盘,为了节省C盘空间,我们需要把默认数据位置修改到其它盘!
1、在管理工具中找到Hyper-v:
2、打开后界面如下,找到Hyper-v设置:
3、修改Hyper-v虚拟硬盘得位置:
这样,Hyper-v的安装和设置就算好了!
三、下载Docker Desktop for Windows
Docker Desktop 是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。
1、下载 Docker Desktop:https://hub.docker.com/
2、双击安装exe文件
安装完成后,会在桌面创建快捷图标;
3、如果启动中遇到因 WSL 2 导致的异常,我的是:Dcoker.ApiService.WSL2.wslKernelUpdateNotInstalledException。
可以到此链接https://czf-net.xyz/res/下载wsl.msi
下载完成后,安装即可;
4、再次启动Docker Desktop,顺利启动
5、使用:我们可以使用docker hub的账号密码登录,有点类似于github desktop
在Start Docker Engine的时候,如果一直在Starting没有进展,我们可以把Hyper-V服务关闭;
因为我们使用了WSL,从而不在需要Hyper-V了,后者在老版本的Windows系统中才需要。
6、对Docker Desktop进行配置优化——配置阿里云镜像加速器
这个比较简单!
四、修改镜像存储位置,从C盘迁移到E盘
安装过程中没有办法选择,所以我们只能再安装完成后进行操作。
WSL2模式下docker-desktop-data vm磁盘映像通常位于以下位置: C:\Users\jiguiquan\AppData\Local\Docker\wsl\data\ext4.vhdx
1、首先停止运行docker deaktop服务:
wsl --list -v
默认情况下,Docker Desktop for Window会创建如下两个发行版(distro) C:\Users\jiguiquan\AppData\Local\Docker\wsl
docker-desktop (对应distro/ext4.vhdx)
docker-desktop-data (对应data/ext4.vhdx)
按官网提示:vhdx文件最大支持256G,超出大小会有异常。当然我的C盘也没那么大!
2、将 docker-desktop-data 导出到文件中(备份image及相关文件),使用如下命令:
wsl --export docker-desktop-data "E:\\docker-desktop-data.tar"
导出成功后,就可以再E盘看到这个文件了;
3、从wsl取消注册docker-desktop-data,使用如下命令:
wsl --unregister docker-desktop-data
请注意C:\Users\jiguiquan\AppData\Local\Docker\wsl\data\ext4.vhdx文件将被自动删除:
4、将导出的docker-desktop-data再导入回wsl,并设置我们想要的路径,使用如下命令:
wsl --import docker-desktop-data "E:\\Docker\\wsl" "D:\\docker-desktop-data.tar" --version 2
我这里设置到E:\\Docker\\wsl,以后新的镜像及各种docker使用的文件都会挂载再该目录下。
5、完成以上步骤后,在对应的目录下就可以看到挂在的ext4.vhdx文件
再次启动docker desktop,确保可以使用。
6、最后,我们下载一个大的镜像看一下:
docker pull registry.cn-hangzhou.aliyuncs.com/jiguiquan/thingsboard:3.3.1
事实证明,只有E盘空间增大了,大功告成!