docker内のnodeでfsに関するエラーが出た
dockerを使ってnodejs で開発しているとき、npm startで
Error: ENOSPC: System limit for number of file watchers reached ...
というエラーが起きました。監視しているファイル数が多すぎるエラーのようです。
docker内でエラーが起こったため、Dockerfileに変更を加えようと思ったのですが、このファイル監視については、ホスト側の設定がそのまま使われるようです。
Dockerfileはいじらずに、
次のように設定を追加して反映すると良いようです。
sudo echo fs.inotify.max_user_watches = 524288 >> /etc/sysctl.conf sudo sysctl -p
確認は
cat /proc/sys/fs/inotify/max_user_watches
によってできます。
この数値についての根拠は把握していません(これが限界らしい)が、デフォルトの8192より十分大きいので問題ないと判断しました。
これで npm start がきちんと動作するようになりました。