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のバージョン:
