一、建立软连接

首先先建立软连接,将 Docker 默认安装的目录链接到其他盘,这个最好使用 windows 自带的终端,使用 powershell 有可能会识别不到 mklink 命令

mklink /j "C:\Program Files\Docker" "D:\Docker"

docker 安装提示磁盘空间不足 docker安装到外置硬盘_Docker


链接完成后在 D 盘创建 Docker 文件夹

二、安装

安装之前看一眼储存空间

docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker 安装提示磁盘空间不足_02


安装完成后,可以看到实际就是被安装在了 D 盘

docker 安装提示磁盘空间不足 docker安装到外置硬盘_容器_03


我第一次安装了后才想到写博客记录一下,然后又卸载了重装的,第一次安装会提示重启,另外 C 盘内存第二次安装没有增加,第一次安装没有注意到

docker 安装提示磁盘空间不足 docker安装到外置硬盘_运维_04

三、安装WSL2

第一次使用Docker Desktop会提示要安装WSL2,直接去他提示的链接下载就行

docker 安装提示磁盘空间不足 docker安装到外置硬盘_Docker_05


docker 安装提示磁盘空间不足 docker安装到外置硬盘_运维_06


直接点击这个下载,然后安装,默认安装到 C 盘的

docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker 安装提示磁盘空间不足_07

四、使用Docker Desktop

安装 WSL2 完成后再重新启动 Docker Desktop 就行,前面弹窗没关闭的话直接点击 Restart 就行了

docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker_08


初始化完成,C 盘可用内存又减少了一些

docker 安装提示磁盘空间不足 docker安装到外置硬盘_容器_09


找了一下,大头应该就是 C:\Users\司大帅\AppData\Local\Docker\wsl 文件夹,里面应该是 windows 的 linux 子系统的虚拟磁盘文件

docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker_10


docker 安装提示磁盘空间不足 docker安装到外置硬盘_运维_11


这个可以迁移到其他盘

五、迁移虚拟硬盘映像文件

先输入下面命令查看 docker 状态

wsl -l -v

docker 安装提示磁盘空间不足 docker安装到外置硬盘_运维_12


使用以下命令关闭 docker-desktop-data

wsl --shutdown

docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker_13


使用以下命令导出 docker-desktop-data,我这里导出到 D:\Docker\docker-desktop-data.tar

wsl --export docker-desktop-data D:\Docker\docker-desktop-data.tar

注销 docker-desktop-data,C:\Users\司大帅\AppData\Local\Docker\wsl\data 文件夹下的硬盘映像文件就会被注销

wsl --unregister docker-desktop-data

导入 docker-desktop-data,将刚刚导出的 docker-desktop-data 导入到 D:\Docker\data\ 文件夹

wsl --import docker-desktop-data D:\Docker\data\ D:\Docker\docker-desktop-data.tar --version 2

docker 安装提示磁盘空间不足 docker安装到外置硬盘_容器_14


docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker_15


然后重新启动 Docker Desktop

六、拉取镜像测试空间

刚才装东西测试,又卸载重新装了一遍

docker 安装提示磁盘空间不足 docker安装到外置硬盘_容器_16


拉了几个镜像,可以看到 D 盘空间减少了

docker 安装提示磁盘空间不足 docker安装到外置硬盘_Docker_17


主要就是刚刚迁移的这个硬盘映像文件

docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker_18


但是镜像全部删除后,内存并没有减少,所以下面压缩内存

docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker 安装提示磁盘空间不足_19

七、压缩内存

使用以下命令关闭 docker-desktop-data

wsl --shutdown

使用以下命令打开DISKPART命令行

diskpart

在DISKPART命令行使用以下命令选择虚拟磁盘文件

select vdisk file="D:\Docker\data\ext4.vhdx"

在DISKPART命令行使用以下命令压缩文件

compact vdisk

在DISKPART命令行使用以下命令压缩完毕后卸载磁盘

detach vdisk

压缩完成后

docker 安装提示磁盘空间不足 docker安装到外置硬盘_容器_20


但是实际好像并不是完全把前面增加的内存压缩到 0,还是会有一些残余,又拉了几个镜像删除压缩后,可以看到占用内存还是比前面多了一些

docker 安装提示磁盘空间不足 docker安装到外置硬盘_docker_21