電波ビーチ

☆(ゝω・)v

Devcontainerが作れなくなった/動かなくなって慌てた話

何が起きたか

今日も元気にdevcontainervscodeRemote-Container)で気軽に環境を破壊しちゃおうかな、って新しく作成したら、

mkdir: cannot create directory '/home/node/.vscode-server': No space left on device

とか、既存のプロジェクトをdevcontainerで開いても

failed to solve: failed to register layer: Error processing tar file(exit status 1): write /home/vscode/.oh-my-zsh/themes/kphoen.zsh-theme: no space left on device

とか言われる。新しいファイルを作成する容量がない、だと?コンテナの分際でたわけたことをぬかしおる

「あれ〜?まあ2ヶ月くらい色んな捨てimage作っては放置してるしなんならmac自体ずっと再起動してないしな」みたいに思って、とりあえずDockerをアプデしたりmacを再起動したりしたが改善せず。

結論

DevcontainerではなくDocker側の挙動だったのでタイトルはもうミスリードです。

docker builder prune

で治った。

わからんし知らん、とりあえず調べてみたのじゃ

% docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          35        22        23.74GB   12.36GB (52%)
Containers      27        0         8.673GB   8.673GB (100%)
Local Volumes   5         2         3.123GB   262.9MB (8%)
Build Cache     435       0         14.74GB   14.74GB

なるほどね〜(何かがわかったとかではない。Dockerもdevcontainerも雰囲気でやっている)。とりあえず何のキャッシュかは知らんけどキャッシュと名のつくもんは一旦消してみるに限る。諸説ある。ということで、前述のコマンドでBuild Cacheを削除した。

(ちなみに-vオプションつけたところで膨大な出力を得られただけでよくわからんかった)

やったあとはこうなった

% docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          36        23        24.41GB   12.36GB (50%)
Containers      28        1         8.674GB   8.673GB (99%)
Local Volumes   5         2         3.123GB   262.9MB (8%)
Build Cache     244       0         292.5kB   292.5kB

ImageとContainerがひとつ増えてるのはテストで適当な環境をRebuild Containerを試したからですね。