Docker用的多一点,特别是装了一个几十G的Linux后 ,就好几十G空间了,太占用系统盘了。所以想换一下存储位置。
Docker Desktop查看settings设置,发现无法在设置里更改,用的是WSL2。通过WSL2启动,会自动创建2个子系统,分别对应2个 vhdx 硬盘映像文件。
默认安装在C盘,默认的镜像容器这些存储在:C:\Users[用户名]\AppData\Local\Docker\wsl\,分别在data和distro目录下都有个ext4.vhdx文件。(特别是data目录下文件,就巨大)
WSL全称:Windows Subsystem for Linux,即「适用于 Linux 的 Windows 子系统」,可让开发人员按原样运行 GNU/Linux 环境 – 包括大多数命令行工具、实用工具和应用程序 – 且不会产生传统虚拟机(a traditional virtual machine)或双启动设置开销。
步骤:
1.查看WSL2自建的2个子系统
1 | # 查看WSL2自建的2个子系统 |
可以看到结果有2个:docker-desktop-data和docker-desktop,同时还能看到STATE(状态)是Running或者Stopped。
2.关闭WSL
直接右键退出 Docker Desktop软件。
1 | # 退出后再次运行查看STATE(状态)是否是Stopped |
3.导出镜像ext4.vhdx到压缩包
导出的路径需要提前创建好目录,否则可能会报错。
比如我这里提前建好了E:\docker\wsl
,以及wsl下的data和distro目录。
1 | # 把 data\ext4.vhdx 导出到压缩文件 docker-desktop-data.tar |
4.注销原来的镜像
依次注销,注销完成后可以看到原来C盘的2个ext4.vhdx文件都没了。
1 | wsl --unregister docker-desktop-data |
5.将导出的压缩包再导入回wsl,并设置挂载目录
1 | wsl --import docker-desktop-data E:\docker\wsl\data E:\docker\wsl\docker-desktop-data.tar --version 2 |
依次执行完后,在目录下又可以看到ext4.vhdx文件了,再启动Docker Desktop,就正常了。
压缩包docker-desktop-data.tar和docker-desktop.tar正常启动以后就不需要了,可以删除了。
- 本文标题:Docker Desktp更改镜像、容器存储位置
- 本文作者:HDUZN
- 创建时间:2023-01-09 19:05:36
- 本文链接:http://hduzn.cn/2023/01/09/Docker-Desktp更改镜像-容器存储位置/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!