Переносим нагрузку от Docker Desktop с системного диска

Столкнулся с тем что docker-desktop съедает место на системном диске? Речь конечно про Windows 10 и WSL2. Если docker-desktop используем именно его, то нужно понимать что перенос инсталляции ничего не даст. Нужно переносить именно WSL2 подсистемы (их виртуальные диски)

Делюсь на мой взгляд самым коротким и удобным способом:

  1. устанавливаем LxRunOffline (удобная CLI утилита для работы с wsl). В моем случае это было просто:
choco install lxrunoffline
  1. теперь в терминале на всякий запустим refreshenv если устанавливали из chocolatey
  2. Посмотрим какие подсистемы видит lxrunoffline:
>LxRunOffline.exe  l
docker-desktop
docker-desktop-data
  1. Отлично. docker-desktop это базовый образ с docker. docker-desktop-data - здесь докер хранит свой граф - все образы, контейнеры, вольюмы и прочее.
  2. посмотрим где они располагаются по-умолчанию:
>LxRunOffline.exe di -n docker-desktop
\\?\C:\Users\{username}\AppData\Local\Docker\wsl\distro

>LxRunOffline.exe di -n docker-desktop-data
\\?\C:\Users\{username}\AppData\Local\Docker\wsl\data

Теперь понятно - если папка профиля пользователя оставлена на системном диске (С: в нашем случае), То все наши опыты с Docker и Kubernetes будут съедать драгоценное место на системном диске. Их нужно перенести. Но переносить основной образ Docker не обязательно: Он меньше 200 MiB и не будет расти в процессе эксплуатации (изменение его размера обусловлено только дистрибутивом docker). Если системный диск быстрее - рекомендую ```docker-desktop оставить на нём. Однако если решите его перенести - список команд будет аналогичный

  1. подготавливаем папку на другом диске, например так:
mkdir D:\wsl2\docker\data\
  1. С помощью lxrunoffline переносим образ (docker-desktop должен быть выключен!)
LxRunOffline.exe m -n docker-desktop-data -d \\?\D:\wsl2\docker\data\

После окончания переноса, запускаем docker-desktop как обычно - всё будет работать, и теперь место на системном диске не будет зависеть от опытов с Docker и Kubernetes :)


251 Words

2020-11-17 08:03 +0300