Docker Desktop 是 Docker 在 Windows 上常用的图形客户端,但默认安装与存储路径设置并不直观。
本文整理了 Docker Desktop 安装目录修改、WSL 目录迁移,以及 Docker 容器存储位置调整的方法,尽量避免系统盘被持续占满。
Docker Desktop is the common GUI client for Docker on Windows, but its installation and storage settings are not very transparent by default.
This post summarizes practical steps to change the Docker Desktop install path, migrate WSL distributions, and move Docker data storage to reduce C drive pressure.
Docker Desktop 安装目录更改
首先下载Docker Desktop。实际上Docker官方的文档中有写到如何手动设置其安装目录。不过笔者在网上查找时还是却很少有提到这点。还是之前在某个知乎帖子下面的回复找到的。网上有很多是通过创建软连接的方式“偷换”了其安装路径,笔者并没有使用这种方法,不知道其可行性。不过使用官方的方法是可行的。
官方给出的方法是使用命令行安装。所以下载完官方的exe安装包先别急着双击打开。打开CMD并将目录切换到你的安装包下载位置。命令行安装方法可以增加很多参数进行设置(不知道为什么很多基础功能比如更改安装位置或者下载代理都不做可视化)。这里给出修改安装位置的命令:
1 | |
如果用的是powershell,那么命令如下:
1 | |
其它参数命令可以看官方手册。
WSL系统目录更改
Windows系统会默认将WSL(Linux子系统)的模拟磁盘环境放置在C盘。而Docker使用WSL后的存储目录也在C盘,一般是在:C:\Users\<用户名>\AppData\Local\Docker\wsl\data\ext4.vhdx。如果是Docker的WSL目录,那么其实可以在安装时使用上面提到的命令行参数进行更改。如果已经安装完成,那么也可以进行更改,并且更改方法适用于所有WSL子系统目录修改。
首先使用wsl --list -v查看已安装子系统以及其状态,例如:
1 | |
wsl --shutdown关闭。这里以移动Docker的系统数据为例。我们需要移动的是docker-desktop-data这个系统(请注意不要更改docker-desktop这个系统!)。
首先我们对需要移动的系统进行备份。
这一步就是将要移动的系统整个系统打成一个压缩包暂存,之后需要用它还原原来的系统1
wsl --export docker-desktop-data "<你想保存备份压缩包的目录(随意)>\docker-desktop-data.tar"然后解除原先位置的系统。
1
wsl --unregister docker-desktop-data最后指定新的目录位置并还原备份的系统
1
wsl --import docker-desktop-data "<你希望移动到的目录>" "<刚刚保存备份压缩包的目录>\docker-desktop-data.tar" --version 之前查看的VERSION数字
完成之后目录就更改成功了,终于解放了系统盘Ꮚ・ꈊ・Ꮚ。