写在前面
由于现在 docker Desktop
默认使用 WSL 2
来运行,而不是以前的 Hyper-V
。
所以 在win10上安装 docker Desktop
时没有存储路径选择,而是直接默认安装到了系统 C盘,这样后续使用一些镜像后,日积月累C盘空间会越来越小。
本文记录在win10上安装 docker Desktop
后,修改镜像位置到 D盘。
docker desktop
下载地址: Docker Desktop: The #1 Containerization Tool for Developers | Docker
docker安装到D盘
首先卸载之前安装的 docker
-
使用符号链接将Docker安装到D盘
cmd中执行命令:
mklink /J "C:\Program Files\Docker" "D:\ Program Files\Docker"
这里将在C盘上创建一个指向D盘的符号链接,使得访问
C:\Program Files\Docker
实际上会指向D:\Program Files\Docker
。 从而实现了在不改变路径的情况下修改安装路径的效果。
然后官网下载安装包进行安装 docker Desktop
但是安装完会发现c盘下还是会有 docker 目录。是因为符号链接只是创建了一个指向D盘的虚拟路径,但并不会删除或移动原始文件夹。
意味着在C盘上仍然会保留一份Docker文件夹的副本,但实际上它只是一个指向D盘的链接。因此,大部分Docker相关的数据和文件都会存储在D盘上。
wsl2
- 查看本机安装的 wsl2 信息
docker info
- wsl 版本查看
wsl --lis -v
安装 docker 后,docker 会自动创建 2 个发行版:
- docker-desktop
- docker-desktop-data
这里的 ubuntu-20.4 我是之前安装的
迁移wsl2 发行版 docker-desktop-data
- 默认wsl镜像存储位置
迁移具体操作步骤:
-
关闭运行中的 docker
-
关闭所有发行版:
wsl --shutdown
-
将 docker-desktop-data 导出到
目标路径: D:\softwareData\wsl\docker-desktop-data\docker-desktop-data.tar (注意,原有的 docker images 不会一起导出)
cmd中执行:
wsl --export docker-desktop-data D:\softwareData\wsl\docker-desktop-data\docker-desktop-data.tar
-
注销 docker-desktop-data:
wsl --unregister docker-desktop-data
-
重新导入 docker-desktop-data 到要存放的文件夹:
D:\softwareData\wsl\docker-desktop-data\
cmd中执行:
wsl --import docker-desktop-data D:\softwareData\wsl\docker-desktop-data\ D:\softwareData\wsl\docker-desktop-data\docker-desktop-data.tar --version 2
- 迁移结果
迁移完成后,重启 docker,之后的相关的(镜像、容器、卷等相关数据)就会存储到D盘。这里 docker-desktop
发行版较小就先不迁移了。
通过软连接方式将Docker的主要文件和数据存储在D盘上、然后迁移 wsl2 发行版 docker-desktop-data
到D盘后达到了减少C盘的占用空间的目的。
docker具体使用资料参考
Docker化一个前端基础开发环境:简洁高效的选择 - 掘金 (juejin.cn)
从零开始的Docker Desktop使用,Docker快速上手 ( ̄︶ ̄) Docker介绍和基础使用_寻_觅的博客-CSDN博客
镜像迁移资料参考
【填坑】在windows系统下安装Docker Desktop后迁移镜像位置-腾讯云开发者社区-腾讯云 (tencent.com)