WSL2下修改Docker Desktop镜像存放路径

本文介绍了Windows Subsystem for Linux (WSL2)的特点,如何迁移docker-desktop-data以解决C盘空间问题,并提供了详细的步骤。重点在于WSL2的性能提升和docker数据管理优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、WSL介绍

WSL即适用于 Linux 的 Windows 子系统。

  • 什么是适用于 Linux 的 Windows 子系统?

适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。

  • 什么是 WSL 2?

WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。

安装完后试了一下,最明显的感觉就是开启docker的速度大大提升!!!
在这里插入图片描述

但是以前设置镜像位置的功能不见了:
在这里插入图片描述

看官网说明,原来,启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理。

安装docker后,docker会自动创建2个发行版:

  • docker-desktop
  • docker-desktop-data

在这里插入图片描述

WSL发行版默认都是安装在C盘,在%LOCALAPPDATA%/Docker/wsl目录
docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中,这对C盘空间紧张的人非常不友好。

二、迁移数据

下面是WSL发行版迁移操作方法:

  1. 首先关闭docker

  2. 关闭所有发行版
    wsl --shutdown

  3. 将 docker-desktop-data 导出到 D:\DockerData\docker-desktop-data\docker-desktop-data.tar(原有的docker images不会一起导出)
    wsl --export docker-desktop-data D:\DockerData\docker-desktop-data\docker-desktop-data.tar

  4. 注销 docker-desktop-data
    wsl --unregister docker-desktop-data

  5. 重新导入 docker-desktop-data到要存放的文件夹:D:\DockerData\docker-desktop-data
    wsl --import docker-desktop-data D:\DockerData\docker-desktop-data\ D:\DockerData\docker-desktop-data\docker-desktop-data.tar --version 2

只需要迁移docker-desktop-data一个发行版就行,另外一个不用管,它占用空间很小。

完成以上操作后,原来的%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx就迁移到新目录了:

重启docker,这下不用担心C盘爆满了!


参考:
https://docs.microsoft.com/zh-cn/windows/wsl/
https://docs.docker.com/docker-for-windows/wsl/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值