空き容量があるのに「no Space Left on Device」でDockerが起動できない時

公開日時
更新日時

RaspberryPiで動かしているDockerコンテナのアップデートをしようと思い、 docker-compose build を実行したところ「no Space Left on Device」エラーが発生して起動できなくなってしまった。

以前、このエラーが発生した際は不要なdocker imageを削除することで対応した

が、今回はSDカードの容量もまだ足りており、かつinodesが100%になっているわけでもなかったので、以前とは異なるエラーが起きていた。

RaspberryPi上で動いている他のコンテナは問題なく docker-compose build が実行できる。

特定のコンテナだけに起きる現象だったので、 .dockerignore の設定を見直してみることに。

# .dockerignore before

node_modules

.git以下をコンテナに含める必要はないので、ignore対象に含めて再度 docker-compose build を実行したところ、無事に起動できた。

# .dockerignore

node_modules
.git

今後dockerコンテナを作る時は .dockerignore もちゃんと確認しよう。

追記:その後、nextjsプロジェクトで再度同様のエラーが発生したので↓を追加して対応した。

# .dockerignore

node_modules
.git
out
.next

参考


Related #docker

Dockerのデータ保存場所を変更する

/etc/docker/daemon.jsonに追記

docker-composeで最新のログを確認する場合

tailオプションも合わせて指定しよう

docker-compose build時に「no Space Left on Device」が発生

1年前にも同じエラーにハマってた

Windows10 HomeにDockerを入れる

Windows 10 May 2020 UpdateでWSL2が導入されたおかげ

next exportで書き出した静的サイトのconsoleに _next/data/xxx/.json 404エラーが出力される

Next.jsバージョンをv10.0.4にアップデートした