WSL2のLinuxおよびDockerイメージ格納先を任意のディレクトリに移動する
Windows StoreからインストールできるWSL2のUbuntuおよび、Docker Desktop WSL2 Backendのイメージ格納先がデフォルトではCドライブに格納される。
Cドライブに必要最低限なSSD、Dドライブに大容量HDDを割り当てているため、Cドライブが枯渇するためDドライブに移動させたい。
ここでは、WSL2のUbuntuと、Docker Desktop WSL2 Backendのインストールフォルダ変更についての調査・確認結果を記す。
デフォルトのインストール先
| ディストリビューション | 概要 | 実体(デフォルト) | 
|---|---|---|
| Ubuntu | Microsoft StoreからインストールできるLinux | %LocalAppData%\Packages$packageName\LocalState\ext4.vhdx | 
| docker-desktop | Dockerを動かすためのエンジン | %LocalAppData%\Docker\wsl\data\ext4.vhdx | 
| docker-desktop-data | イメージやコンテナを格納する | %LocalAppData%\Docker\wsl\distro\ext4.vhdx | 
何でもかんでも、%LocalAppData%に溜め込むWindowsの流儀に未だに慣れない。
これらのvnhdファイルを新しく作成したD:\wslディレクトリに移動する。
手順
1. Docker Desktop for Windowsの停止
タスクトレイに常駐しているDocker Desktopを停止する。
2. WSLの停止
wsl -l -vで現在のWSLの動作状況を確認でき、wsl --sutdownでWSLを停止する。
wsl --shutdown
wsl -l -v
3. ディストリビューションのExport
wsl --export <Distro> <FileName>で、ディストリビューションをtarファイルにエクスポートする。
ここでは、Ubuntuと、Docker Desktopのディストリビューションを一緒にエクスポートする。
mkdir D:\wsl
wsl --export Ubuntu D:\wsl\Ubuntu20.04.tar
wsl --export docker-desktop  D:\wsl\docker-desktop.tar
wsl --export docker-desktop-data  D:\wsl\docker-desktop-data.tar4. ディストリビューションの解除(削除)
wsl --unregister <Distro>で、指定したディストリビューションの登録を解除する。
このコマンドを実行すると、既存のext4.vhdxが削除されるため、注意が必要である。
wsl --unregister Ubuntu
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data5. ディストリビューションのインポート
wsl --import <Distro> <InstallLocation> <FileName>で指定したtarファイルを新しいディストリビューションとしてインポートする。
wsl --import Ubuntu20.04 D:\wsl\Ubuntu20.04 D:\wsl\Ubuntu20.04.tar
wsl --import docker-desktop D:\wsl\docker-desktop docker-desktop.tar
wsl --import docker-desktop-data D:\wsl\docker-desktop-data docker-desktop-data.tar6. Docker Desktopを起動させる
Docker Desktopを起動して、動作確認する。
参考URL
Related contents

TECH
2021.07.25

TECH
2018.02.24

TECH
2015.11.23

GADGET
2021.03.20

GADGET
2021.02.13