解决Docker占用C盘资源的问题
在Windows中安装Docker桌面版,会使用子系统WSL,而子系统默认是将资源放在C盘的,这样会导致C盘资源紧张,进而影响系统的使用。本文将转移Docker的资源到非系统盘,比如D盘。该方法适用所有WSL子系统。
解决步骤¶
-
在D盘创建文件夹
D:\WSL
,用于存放WSL子系统的资源 -
在D盘创建文件夹
D:\WSL\docker
用于存放Docker的资源 -
打开PowerShell,输入
wsl --list
,查看WSL子系统的列表,能发现Docker的相关子系统服务,如下所示:docker-desktop
用于运行 Docker engine,这个不涉及存储数据,因此我们可以不管他docker-desktop-data
存储容器和镜像,这个服务是存储数据的,因此我们目标是迁移它
-
停子系统
docker-desktop-data
: -
导出
docker-desktop-data
子系统到D:\WSL\docker
文件夹进行备份: -
注销
docker-desktop-data
子系统:- 这时候如果查看子系统的话(
wsl --list
),可以看到docker-desktop-data
已经不见了
- 这时候如果查看子系统的话(
-
恢复
docker-desktop-data
子系统,并将资源存储位置设置为D:\WSL\docker\docker-desktop-data
:PS C:\Users\homqyy> wsl --import docker-desktop-data D:\WSL\docker\docker-desktop-data D:\WSL\docker\docker-desktop-data.tar --version 2
- 这时候如果查看子系统的话(
wsl --list
),可以看到docker-desktop-data
又出来了
- 这时候如果查看子系统的话(
-
启动
docker-desktop-data
子系统,可以看到Docker的资源已经转移到了D盘: -
重新运行Docker桌面版