あまりにも システムドライブの容量が足りないよ~って Windows が喚くから対応した。
まず、Docker Desktop for Windows は Windows ネイティブなアプリケ-ションではなく Hyper-V か WSL2 上の仮想マシン (Linux) を介して Docker を提供している (多分、きっと、Maybe) 。
仮想マシンなので日々、ファイルサイズは増えていく (多分、きっと、Maybe)。
なのでまずは Docker Desktop for Windows のデ-タを移動させるというよりは、Docker Desktop for Windows を動かしている仮想マシンのデ-タ領域を移すというのが正しい認識…だと思う。
ちなみに私は Docker Desktop for Windows を導入した当時は、WSL2 が微妙だった覚えがあり Hyper-V で動作させているので下記 1. は人によっては読み飛ばすか別途 WSL2 の対応方法を調べる必要がある。
1. Docker Desktop for Windows を動かしている仮想マシンのデ-タ保存領域を変更する
1. Docker Desktop for Windows アンインスト-ル
既に Docker Desktop for Windows を稼働させた事がある場合、一度アンインスト-ルする。
*
稼働している Docker Desktop for Windows のデ-タを移動対応するのが面倒だったので私はアンインスト-ルした。
2. 移動先フォルダ作成
適当な場所に下記のような
Hyper-V
├ Virtual Hard Disks
└ Virtual Machines
仮想マシンを配置するフォルダを準備する。
3. Hyper-V の設定変更
Hyper-V マネ-ジャ-を起動して Hyper-V サ-バ (操作しているロ-カルマシン) を選択して『操作 (A)』⇒『Hyper-V の設定 (S)…』より 『仮想サ-バの Hyper-V の設定』ダイアログを開き
- 仮想ハ-ドディスク
- 仮想マシン
の保存先を変更して適用する。
4. Docker Desktop for Windows を再インスト-ル
再インスト-ルする。
*
WSL2 ではなく、Hyper-V で動かすオプション設定を忘れない事。
以上で、指定したフォルダに Docker Desktop for Windows を動かす仮想マシン関連のファイルが保存されるようになる。
2. Docker の Disk image location のデ-タ保存領域を変更する
本来であれば…
Docker Desktop for Windows のダッシュボ-ドより、『Settings』⇒『Resources』⇒『Disk image location』を変更する…のだが何故か変更が反映されない。
なんか大分前から issue にあるようで、もういっそ下記の方法を正式な方法として記載すればいいのにとさえ思う。
1. Docker Desktop for Windows を終了させる
設定変更の為に、一度 Docker Desktop for Windows を終了させる。
2. コマンドプロンプトなどで『%APPDATA%』の位置を確認する
下記コマンド等で、編集する settings.json ファイルの場所を確認する。
echo %APPDATA%\Docker\settings.json
3. settings.json 編集
settings.json 中の『dataFolder』を変更する。
4. Docker Desktop for Windows を起動させる
Docker Desktop for Windows を起動する。
以上で、指定したフォルダに Docker の Disk image を保存する vhdx ファイルが保存されるようになる。
最後に
Windows で Docker 辛い。