Win11系统下Docker镜像储存位置问题
问题阐述
在Windows 11 pro系统中安装Docker时,若使用 wsl2 安装,则将会安装一个适用于Windows的Linux子系统,我的该子系统版本为 Ubuntu 22.04 LTS。而我们的Docker Desktop程序也是基于这个子系统运行的。
故在成功安装完成Docker Desktop后,输入指令
1 | docker info |
发现显示disk储存位置显示为Linux系统下的目录,对应着Windows系统下的C盘 用户\AppData\Docker 中的相关目录
在Docker虚拟机中,Docker镜像、容器的有关均在磁盘映像文件中
因新的wsl、wsl2技术,用户无法在GUI界面直接修改Disk Location
故需要手动修改。
解决方法
首先进入关闭Docker,进入终端,输入指令
1 | wsl --list -v |
该指令将会列出当前正在执行的wsl分发
确保 docker-desktop 与 docker-desktop-data 停止运行,若仍有运行,执行指令
1 | wsl -t ... |
…为相应分发名称。
后输入指令备份相关磁盘映像文件
1 | wsl --export docker-desktop-data "D:\Docker\docker-desktop-data.tar" |
目录可自定义,然后在自定义目录下创建文件夹 docker-desktop-data 与 docker-desktop
后注销原文件
1 | wsl --unregister docker-desktop-data |
再将其导回wsl,导入自定义目录下的docker-desktop-data 与 docker-desktop文件夹。
1 | wsl --import docker-desktop-data "D:\docker\docker-desktop-data" "D:\Docekr\docker-desktop-data.tar" --version 2 |
注意标注版本 –version
后可拉取一个镜像验证,成功可发现拉去新镜像后C盘大小未变(若出现微小变换可能是因为运行镜像时的动态变化),自定义目录所在磁盘空间减少,修改成功。
后续
成功后可将docker-desktop-data.tar 与 docker-desktop.tar 删除