プログラミングと絵と音楽

コンピューター科学を専攻し、絵と音楽を趣味とするエンジニアのブログです。

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 がきちんと動作するようになりました。