sysctl: 'fs.inotify.max_user_instances' キーに対する権限が拒否されました。

sysctl: 'fs.inotify.max_user_instances' キーに対する権限が拒否されました。

開発環境でDockerコンテナを実行しています。値を設定しようとしていますfs.inotify.max_user_instances

私はドッカーコンテナ内のrootユーザーなので、これはsudo必要ありません。実際に実行すると、sudo command_text次のようになります。

bash:sudo:コマンドが見つかりません

sysctl fs.inotify.max_user_instances=8192それで価値を加えるために走りましたmax_user_instances。驚いたことに、次のエラーが発生しました。

sysctl: 'fs.inotify.max_user_instances' キーに対する権限が拒否されました。

に基づいてこの回答私はルートでさえシステム全体に影響を与えるので、いくつかのことを変更することはできません。 (ある意味では、ルートがシステムの所有者であり、システム全体が必要な場合はシステムを変更できる必要があるため、これは愚かなようですが)。

フラグの使用に違いはありません-w。それでも同じエラーが発生します。

echo 8192 > /proc/sys/fs/inotify/max_user_instancesそのため、そのファイルの値を直接上書きしようとしました。わかりました:

bash: /proc/sys/fs/inotify/max_user_instances: 読み取り専用ファイルシステム

ファイルシステム権限を変更してみませんでした。今の時点では、これは良い考えではないかもしれないと思うからです。

rootユーザーとしてinotifyDockerコンテナ内のクォータを安全に増やすにはどうすればよいですか?

修正する

試してみましたが、chmod +w max_user_instances次のエラーが発生しました。

chmod: "max_user_instances"の権限変更: 読み取り専用ファイルシステム

私のオペレーティングシステムは次のとおりです

root@panel:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

ベストアンサー1

簡単に言えば、Dockerはchrootオーバーレイファイルシステム技術を使用してコンテナを実行します。

実行中のコンテナは、ホストカーネルとそのカーネルパラメータ(sysctl)を使用します。

擬似ファイルシステム(/proc、、、/sys…)はホストから読み取り専用としてマウントされます。

ホストのカーネルパラメータに対する変更は、実行中のDockerコンテナにすぐに表示されます。 Dockerコンテナ内では、ホストのカーネルパラメータを変更することはできません(読み取り専用)。

Dockerには、単純さと質問に答えるために言及しない詳細がたくさんあります。詳細については、Dockerのマニュアルを参照してください。

おすすめ記事