WSL
WSL:适用于 Linux 的 Windows 子系统。
- 什么是适用于 Linux 的 Windows 子系统?
适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。
- 什么是 WSL 2?
WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。
--
启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理!
安装docker后,docker会自动创建2个发行版:
- docker-desktop
- docker-desktop-data
WSL发行版迁移
网上查了一下wsl发行版迁移,几乎都是说使用LxRunOffline.exe
经过我试验,LxRunOffline.exe确实可以迁移自己安装的发行版,却迁移不了docker自动创建的2个发行版!
最后只能去github提了个issues:https://github.com/docker/for-win/issues/7348
下面是操作方法:
- 首先关闭docker
- 关闭所有发行版:
wsl --shutdown
- 将docker-desktop-data导出到D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar(注意,原有的docker images不会一起导出)
wsl --export docker-desktop-data D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar
- 注销docker-desktop-data:
wsl --unregister docker-desktop-data
- 重新导入docker-desktop-data到要存放的文件夹:D:\SoftwareData\wsl\docker-desktop-data\:
wsl --import docker-desktop-data
D:\SoftwareData\wsl\docker-desktop-data\
D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar
--version 2
--
只需要迁移docker-desktop-data一个发行版就行,另外一个不用管,它占用空间很小。
完成以上操作后,原来的%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx就迁移到新目录了:
重启docker
参考:
https://docs.microsoft.com/zh-cn/windows/wsl/
https://docs.docker.com/docker-for-windows/wsl/
https://www.cnblogs.com/xhznl/p/13184398.html