• SIS Lab
  • >
  • Blog
  • >
  • WSL2のLinuxおよびDockerイメージ格納先を任意のディレクトリに移動する

WSL2のLinuxおよびDockerイメージ格納先を任意のディレクトリに移動する

更新日:2023.05.05 作成日:2021.07.11

Windows StoreからインストールできるWSL2Ubuntuおよび、Docker Desktop WSL2 Backendのイメージ格納先がデフォルトではCドライブに格納される。 Cドライブに必要最低限なSSD、Dドライブに大容量HDDを割り当てているため、Cドライブが枯渇するためDドライブに移動させたい。

ここでは、WSL2のUbuntuと、Docker Desktop WSL2 Backendのインストールフォルダ変更についての調査・確認結果を記す。

デフォルトのインストール先

ディストリビューション概要実体(デフォルト)
UbuntuMicrosoft StoreからインストールできるLinux%LocalAppData%\Packages$packageName\LocalState\ext4.vhdx
docker-desktopDockerを動かすためのエンジン%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 --sutdownWSLを停止する。

wsl --shutdown
wsl -l -v

wsl shutdown in PowerShell

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.tar

4. ディストリビューションの解除(削除)

wsl --unregister <Distro>で、指定したディストリビューションの登録を解除する。

このコマンドを実行すると、既存のext4.vhdxが削除されるため、注意が必要である。

wsl --unregister Ubuntu
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

5. ディストリビューションのインポート

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.tar

6. Docker Desktopを起動させる

Docker Desktopを起動して、動作確認する。

参考URL

Related contents