メインコンテンツへスキップ

Dockerのbuildxのstateが残っていた話

·63 文字·1 分
技術記事 自宅サーバー Docker

ふと自宅サーバーの監視ログを見ていたらストレージ使用量が少し多いような気がした。 ncdu を使って調べてみると 普段は見かけない以下の2つのディレクトリが残っていた

~/.local/share/docker/volumes/buildx_buildkit_youthful_cray0_state
~/.local/share/docker/volumes/buildx_buildkit_boring_dubinsky0_state

先日自宅サーバーをビルド途中に電源が落ちるというアクシデント1がありおそらくその際に残ってしまったのだろう… ChatGPT に聞いてdocker volume rm <volume name>で消せるらしいとわかったので消そうとしたら 片方は消せたがもう片方は以下のようなエラーになった

Error response from daemon: remove buildx_buildkit_youthful_cray0_state: volume is in use - [45af4aa4b062d8501725844ba1d998ae07b009b38d559d97e395725aa091c2c0]

そこでdocker ps -a --filter volume=buildx_buildkit_youthful_cray0_state --no-truncするとなぜか buildkitd が2日前から走りっぱなしになっていた。

CONTAINER ID                                                       IMAGE                           COMMAND                                                 CREATED      STATUS      PORTS     NAMES
45af4aa4b062d8501725844ba1d998ae07b009b38d559d97e395725aa091c2c0   moby/buildkit:buildx-stable-1   "buildkitd --allow-insecure-entitlement=network.host"   2 days ago   Up 2 days
    buildx_buildkit_youthful_cray0

おそらくビルド中に落ちた結果正常に消されなかったのだろう… docker stop 45af4aa4b062d8501725844ba1d998ae07b009b38d559d97e395725aa091c2c0 docker rm 45af4aa4b062d8501725844ba1d998ae07b009b38d559d97e395725aa091c2c0をして無事削除できた。


  1. うっかり電源ボタンを押してしまったのである… ↩︎