空き容量があるのに「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

WSL2でCannot connect to the Docker daemonエラーが発生

Stable版をダウンロードしてきて再インストールしたら直った

docker-credential-desktop.exe not installed or not available in PATH

rm ~/.docker/config.jsonしたら起動できた

Dockerでpt-query-digestを使う

コンテナのおかげで手軽にslowlog分析ができるようになった

mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.

windowsだとvolume mountすると777になるのでDockerfileを作ってcopyするようにした

Dockerで日本語対応のPuppeteerを動かす

日本語フォントを入れて文字化けしないようにした