如何设置容器的最大文件描述符?

我想在容器中运行nspawn (即nspawn ),它要求最大文件描述符的数量要高于默认的1024。

这是在容器中,在适合于elasticsearchsystemd服务文件中完成的。 然而,在服务启动时这个请求不被考虑,限制保持在1024。

然后我尝试在容器内的命令行上更改此限制,但我相信这是不可能的(这是可以理解的):

 root@elk:/etc/elasticsearch# ulimit -n 65536 -bash: ulimit: open files: cannot modify limit: Operation not permitted 

我相信这个限制应该是在主机层面上设定或允许设定的。 我应该在哪里设置?

systemd的错误报告给出了解决scheme。 需要创build或更新/etc/systemd/system/[email protected]/ulimit.conf并在[Service]部分添加LimitNOFILE=infinity

 mkdir -p /etc/systemd/system/[email protected]/ cat <<'EOF' >/etc/systemd/system/[email protected]/ulimit.conf [Service] LimitNOFILE=infinity EOF systemctl daemon-reload systemctl stop systemd-nspawn@CONTAINER systemctl start systemd-nspawn@CONTAINER