Docker是一个非常好用的容器引擎, 使我们部署环境速度大幅度提升。但是windows版本的docker-desktop默认安装路径是C盘,所以得想办法把他们定义到我们想要的位置去

Docker Desktop的默认存储路径

C:\Users${用户文件}\AppData\Local\Docker

我这里是:
docker的默认安装路径

更改存储路径

Docker-desktop在初始化的时候会创建两个wsl子系统,这两个系统文件会默认保存在上述缓存路径下

PS C:\Users\Lenovo\Desktop> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2
PS C:\Users\Lenovo\Desktop> wsl -l --all -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2
  • docker-desktop:保存的是程序
  • docker-desktop-data: 保存的镜像

首先需要将docker desktop退出

确保状态是关闭状态

PS C:\Users\Lenovo\Desktop> wsl -l --all -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

通过wsl命令将这两个子系统进行迁移

备份

PS C:\Users\Lenovo\Desktop> wsl --export docker-desktop D:\wsl2\docker\docker-desktop.tar
PS C:\Users\Lenovo\Desktop> wsl --export docker-desktop-data D:\wsl2\docker\docker-desktop-data.tar

注销

PS C:\Users\Lenovo\Desktop> wsl --unregister docker-desktop
正在注销...
PS C:\Users\Lenovo\Desktop> wsl --unregister docker-desktop-data
正在注销...
# 查看是否注销成功
PS C:\Users\Lenovo\Desktop> wsl -l --all -v
适用于 Linux 的 Windows 子系统没有已安装的分发版。
可以通过访问 Microsoft Store 来安装分发版:
https://aka.ms/wslstore

导入

PS C:\Users\Lenovo\Desktop> wsl --import docker-desktop D:\wsl2\docker\docker-desktop D:\wsl2\docker\docker-desktop.tar --version 2
PS C:\Users\Lenovo\Desktop> wsl --import docker-desktop-data D:\wsl2\docker\docker-desktop-data D:\wsl2\docker\docker-desktop-data.tar --version 2

查看相关文件:
新的数据目录

删除备份

PS C:\Users\Lenovo\Desktop> del D:\wsl2\docker\docker-desktop-data.tar
PS C:\Users\Lenovo\Desktop> del D:\wsl2\docker\docker-desktop.tar

重启docker desktop

这里可以运行一个docker容器试试,如

PS C:\Users\Lenovo\Desktop> docker run -d --name myredis -p 6379:6379 redis:4.0.8 --requirepass "password"
Unable to find image 'redis:4.0.8' locally
4.0.8: Pulling from library/redis
b0568b191983: Pull complete
6637dc5b29fe: Pull complete
7b4314315f15: Pull complete
67b22db27e51: Pull complete
350dbcc91819: Pull complete
eee5ee716895: Pull complete
Digest: sha256:26c93c5b06eaa323bb1089500f42b0dd158138772348b865e364127f1d554982
Status: Downloaded newer image for redis:4.0.8
b1ebb0da4388380d360a748617c9ea0da58a3ee5db4a7df17f1b518062ac90ea

安装后,可以对比下安装前后ext4.vhdx文件的大小
安装前大小
安装后大小

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐