首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sysctl:拒绝对"fs.inotify.max_user_instances“键的权限

sysctl:拒绝对"fs.inotify.max_user_instances“键的权限
EN

Unix & Linux用户
提问于 2023-03-12 09:26:46
回答 1查看 385关注 0票数 0

我在开发环境中运行一个码头容器。我正在尝试设置fs.inotify.max_user_instances值。

因为在docker容器中我是根用户,因此不需要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_实例:只读文件系统

我没有尝试更改文件系统权限。因为此时我觉得这可能不是个好主意。

作为根用户,如何安全地增加Docker容器中的inotify配额?

更新

我甚至尝试过chmod +w max_user_instances,我得到了一个错误:

chmod:更改‘max_user_instances’的权限:只读文件系统

我的操作系统是:

代码语言:javascript
运行
复制
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/"
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2023-03-13 07:32:49

简单地说,Docker使用chroot技术与覆盖文件系统一起运行容器。

正在运行的容器使用主机内核及其内核参数(sysctl)。

伪文件系统(/proc/sys,.)是从主机只读安装的。

主机上内核参数的更改立即在正在运行的docker容器中看到。在docker容器中,不能更改主机的内核参数(只读)。

关于Docker有很多细节,我没有提到简单性和对这个问题的回答。有关详细信息,请参阅码头工人手册。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/739487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档