Мои файлы Докера (Docker Desktop) и WSL2 (Windows Subsystem for Linux) отжирают прилично места на системном диске:
C:\Users\User\AppData\Local\Docker\wsl\data\ext4.vhdx - 19 GB
C:\Users\User\AppData\Local\Packages\Canonical...Ubuntu20.04...\LocalState\ext4.vhdx - 9 GB
Съели всё свободное место и продолжают расти.
Перенесём их на другой диск, благо он шустрый (SSD) и свободного места на нём ещё полно.
Бекап
Первым делом, забекапим все файлы которые собрались менять:
C:\Users\User\AppData\Local\Docker\wsl\data\ext4.vhdx
C:\Users\User\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
Скопируем их куда-нибудь в безопасное место, просто на всякий случай.
Есть ещё файл “дистрибутива Docker”, но он всего 100 MB и не растёт, поэтому его переносить не будем. К тому же, при обновлении Docker Desktop он всё равно пересоздаётся.
C:\Users\User\AppData\Local\Docker\wsl\distro\ext4.vhdx
Перемещаем Docker
Закрываем Docker Desktop.
Открываем PowerShell от имени администратора:
Пуск → Windows PowerShell → Запуск от имени администратора
Список дистрибутивов:
wsl -l -v
Выключаем все дистрибутивы WSL2.
wsl --shutdown
Выгружаем данные в файл.
wsl --export docker-desktop-data D:\DockerDesktop\docker-desktop-data.tar
Отключаем дистрибутив. Исходный файл с диска C: при этом удалится автоматически.
wsl --unregister docker-desktop-data
Загружаем дистрибутив из файла, указав папку для хранения данных.
wsl --import docker-desktop-data D:\DockerDesktop\data D:\DockerDesktop\docker-desktop-data.tar --version 2
Запускаем Docker Desktop. Контейнеры на месте, всё запускается.
Перемещаем WSL 2
Повторяем всё то же самое для Ubuntu WSL2:
wsl --shutdown
wsl --export Ubuntu-20.04 D:\WSL2\ubuntu-data.tar
wsl --unregister Ubuntu-20.04
wsl --import Ubuntu-20.04 D:\WSL2\Ubuntu_20.04 D:\WSL2\ubuntu-data.tar --version 2
К сожалению, пользователь сбрасывается на рута.
Исправляем:
cd C:\Users\User\AppData\Local\Microsoft\WindowsApps\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc
.\Ubuntu2004.exe config --default-user nex
Также после отключения дистрибутива, сбилась настройка дистрибутива по умолчанию. Возвращаем её.
wslconfig /setdefault Ubuntu-20.04
Результат
Переместив файлы с системного диска на другой диск, теперь мы можем не беспокоиться, что на системном диске закончится свободное место.
Можно спокойно пользоваться докером и WSL2 )