Featured image of post WSLの保存先をCドライブからDドライブに変更する方法【Docker Desktop】

WSLの保存先をCドライブからDドライブに変更する方法【Docker Desktop】

Docker Desktop for WindowsのWSLディストリビューションとイメージの保存先をCドライブからDドライブに変更する手順。wsl --exportでコピー、登録解除、wsl --importで再登録。エラーコード2が出たときの対処も♪

1488文字

Docker Desktopのイメージ保存先を変えたい

Cドライブ圧迫を回避したい

Windows環境でDockerを利用する場合はDockerDesktop for Windowsを使うことが多いと思います。

しかし、インストール時に保存先を選ぶことが出来ずに自動でCドライブに保存されてしまいますよね。

また、デフォルトではエンジンについては%LocalAppData%\Docker\wsl\distro\ext4.vhdx、Dockerイメージについては%LocalAppData%\Docker\wsl\data\ext4.vhdxに保存されるのですが、サイズが肥大しすぎでCドライブの圧迫が気になります。。。

うぎゃああああ!!!

Dドライブに変更可能

しかしご安心を。インストール後に各種データの保存先を任意の場所に変えることが出来るので、今回はDドライブに変更してみようと思います。

手順

前提

一旦wsl --list --verboseコマンドで今の状態を確認してみましょう。

wsl --list --verbose
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  docker-desktop         Running         2

上記は現状の%LocalAppData%\Docker\wsl\配下にあるディストリビューションとなっています。

既存のディストリビューションをコピー

まずは既存のディストリビューションをwsl --export {ディストリビューション名} {変更先ディレクトリ}/{ディストリビューション名}.tarでコピーしましょう。

wsl --export docker-desktop D:\Docker\distro\docker-desktop-data.tar
エクスポートが進行中です。これには数分かかる場合があります。
この操作を正しく終了しました。

これでtarファイルが生成されると思います。

今回はdocker-desktopとdocker-desktop-data両方をエクスポートしました。

ディストリビューションを開始できませんでした。エラー コード: 2、エラーステップ: 2

ディストリビューションを開始できませんでした。エラー コード: 2、エラーステップ: 2というエラーが出る場合がありますが、この場合はwsl --export {ディストリビューション名} {変更先ディレクトリ}/{ディストリビューション名}.vhdx --vhdのように変更してtarではなくvhdx形式で出力しましょう。

既存ディストリビューションの削除

エクスポートが完了したら、wsl --unregister {ディストリビューション名}コマンドでWSLから既存のディストリビューションを削除しておきましょう。

wsl --unregister docker-desktop
登録解除。
この操作を正しく終了しました。

確認

念のためコマンドで確認してみましょう。

wsl --list --verbose
Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。

無事に削除できていますね。

WSLにインポート

削除が終わったら先ほどエクスポートしたファイルをインポートしましょう。

tarファイルの場合は wsl --import {ディストリビューション名} {保存先ディレクトリ} {出力したファイルまでのパス}vhdxファイルの場合は wsl --import {ディストリビューション名} {保存先ディレクトリ} {出力したファイルまでのパス} --vhdです。

wsl --import docker-desktop-data D:\Docker\data\ D:\Docker\data\docker-desktop-data.vhdx --vhd
インポート中です。この処理には数分かかることがあります。
この操作を正しく終了しました。

確認

念のためコマンドで確認してみましょう。

wsl --list --verbose
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

無事に追加できていますね。

デフォルトで使用するディストリビューションを変更するには

出力結果を見るとわかるのですが、デフォルトで使用するディストリビューションに違いが出ており、docker-desktop-dataをデフォルトで使用したいので、wsl -s {ディストリビューション名}で変更しておきます。

wsl -s docker-desktop-data
この操作を正しく終了しました。

ことがあります。 この操作を正しく終了しました。

確認

念のためコマンドで確認してみましょう。

wsl --list --verbose
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

無事に変更できていますね。

終わりに

以上のように簡単にDocker関連の保存先を変える事が出来ました。

Cドライブはなるべく容量を開けておきたいと思うので、是非この方法でディスク圧迫を回避してみてはいかがでしょうか♪