Dockerに限った話ではなくOpenVZとかLXCでも同じ方法で解決できる”はず”
fs.inotifyを弄る
fs.inotify.max_user_instances = 96290160 fs.inotify.max_queued_events = 65536 fs.file-max = 96290160 fs.inotify.max_user_watches = 9280000
sysctl -p
what is ‘fs.inotify’
/proc インターフェース
以下のインターフェースは、inotify で消費されるカーネルメモリの総量を制限するのに使用できる:
/proc/sys/fs/inotify/max_queued_events
このファイルの値は、アプリケーションが inotify_init(2) を呼び出すときに使用され、対応する inotify インスタンスについてキューに入れられるイベントの数の上限を設定する。この制限を超えたイベントは破棄されるが、 IN_Q_OVERFLOW イベントが常に生成される。
/proc/sys/fs/inotify/max_user_instances
1 つの実ユーザ ID に対して生成できる inotify インスタンスの数の上限を指定する。
/proc/sys/fs/inotify/max_user_watches
作成可能な監視対象の数の実 UID 単位の上限を指定する。