LXD 容器内用户星号的 Ulimit

LXD 容器内用户星号的 Ulimit

我有一台裸机 ubuntu 16.04 服务器,上面有一个 centos 6 LXD 容器,我想在其中安装从源代码构建的 FreePBX/asterisk。

构建和安装过程非常顺利,直到 FreePBX GUI 本身安装完成。这需要使用 FreePBX 脚本 ./start_asterisk start 启动 asterisk(它本身编译得很好)。这会引发以下错误 -

/usr/sbin/safe_asterisk:第 96 行:ulimit:打开文件:无法修改限制:不允许操作

第 96 行尝试将打开文件限制更改为 1048576“ulimit -n 1048576”,但显然该操作不被允许。

我搜索了互联网以查找指南,尝试手动更改用户星号的 ulimit,但它们似乎没有效果或给出相同的“操作不允许”消息。

所以我想知道是否有人可以给我指出正确的方向。这是否与容器中的星号有关?

首先十分感谢。

答案1

  • 要改变容器内的限制,容器需要具有权限 sys_resource

无论主容器文件/usr/share/lxc/config/*中包含哪个文件,此功能都会被删除。config

  • 如果将ulimit命令添加到init启动容器的脚本中,则无需更改权限,因为它将从脚本继承限制init

  • lxc 2.1将支持使用配置文件设置限制lxc.prlimit.[limit name]- 请参阅资源限制

相关内容