コンテンツへスキップ
Dockerエラーエラー
Error: too many open files in container

Error: コンテナ内のオープンファイルが多すぎます

コンテナがファイルディスクリプタの制限を超えました。

dockerlinux

このエラーの原因

コンテナのプロセスが ulimit で許可されている数を超えるファイルディスクリプタを開きました。接続数の多いサーバーや大量のファイルを同時に開くアプリケーションで発生しやすい問題です。

修正方法

ファイルディスクリプタの上限を引き上げます: docker run --ulimit nofile=65535:65535。docker-compose では ulimits: { nofile: { soft: 65535, hard: 65535 } } を指定します。アプリケーション側でも、使用するファイルディスクリプタを減らすよう最適化してください。

例

docker run --ulimit nofile=65535:65535 myimage
公式ドキュメント

関連するエラーコード