Docker Desktop backend WSL2 をインストールすると、docker-desktopとdocker-desktop-dataというふたつのディストリビューションが作成されます。
ディストリビューション | 役割 | 実体(デフォルト) |
---|---|---|
docker-desktop | Dockerを動かすためのエンジン | %LocalAppData%\Docker\wsl\data\ext4.vhdx |
docker-desktop-data | イメージやコンテナを格納する | %LocalAppData%\Docker\wsl\distro\ext4.vhdx |
とくにdocker-desktop-dataについては、docker pull
などを繰り返すたびにもりもり大きくなっていくため、%LocalAppData%
に置いておきたくない、ドライブごと変えてしまいたいということが十分ありえます。
そこで本記事ではdocker-desktopとdocker-desktop-dataの実体であるext4.vhdx
を別の場所に移動させる方法については記述します。ここでは例として、docker-desktopのext4.vhdx
をD:\wsl\docker-desktop
に、docker-desktop-dataのext4.vhdx
をD:\wsl\docker-desktop-data
にそれぞれ移動させたいと思います。
1. Docker Desktopの停止
タスクトレイのDockerマークを右クリックし、Quit Docker Desktop
を押下する。
2. ディストリビューションのエクスポート
ディストリビューションをtarファイルにエクスポートする。
wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar
3. ディストリビューションの削除
ここでdocker-desktopとdocker-desktop-dataをいったん削除します。
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
4. ディストリビューションのインポート
2.でエクスポートしたtarファイルを入力に、ディストリビューションの再インポートを行います。このとき、ext4.vhdx
の移動先となるフォルダを必ず指定します。
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
5. Docker Desktopの起動
最後に任意の方法でDocker Desktopを起動させれば完了になります。
環境情報
- Dockerのバージョン:
C:\>docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:23:10 2020
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:29:16 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
- Windowsのバージョン: