Docker for Windowsを使っていてCドライブが枯渇したときの対処
サマリー
- dockerにCドライブを食い尽くされた
- Hyper-Vの設定変更で解決
- Virutal hard disksをDドライブに移した
環境
現象
Cドライブの容量危機
- 110GBのCドライブの空き容量が0になった
- 110GB使い切るほどいろいろ入れてないはず
- 空きを作って様子をみたところ、dockerを動かすと容量が圧迫されることが判明
docker build
とかやってると、あれよあれよと減っていく- 朝いろいろ消して確保した4GBの空きが昼にはなくなった
原因
- Hyper-VのVirtual Hard Disksが
C:\Users\Public\Documents\Hyper-V\Virtual hard disks
にあった - Docker for Windowsがデフォルトで64GB確保しようとしていた
やったこと
Virtual Hard DiskをDドライブに移す
- Docker for Windowsを止める
- タスクトレイのクジラのアイコン右クリック
- Quit Docker Desktop
- Hyper-Vマネージャーを開く
- 「Hyper-Vの設定」を開く
- 「仮想ハードディスク」を選択
- 「仮想ハードディスクのファイルを保存するために規定のフォルダーを指定します」が
C:\Users\Public\Documents\Hyper-V\Virtual hard disks
とかになっているのを
D:\Users\<UserName>\Documents\Hyper-V\Virtual hard disks
とかに変更
- 仮想ハードディスクファイルを変更後の場所に移す
MobyLinuxVM.vhdx
という名前だった
- Docker for Windowsを再度起動
結果
- Cドライブが35GB空いた
- Dockerは64GB確保しようとしていたので足りるわけがなかったのである
- Dockerは64GB確保しようとしていたので足りるわけがなかったのである
APPENDIX
- Hyper-Vの設定を行わずとも、Docker for Windwosの設定で完結できたかも
- Disk image max sizeを64GBから16GB等に減らす
- ただし、減らす場合、imageはすべて失われる
- ただし、減らす場合、imageはすべて失われる
- Disk image max sizeを64GBから16GB等に減らす