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

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

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

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

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

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

我认为应该在主机级别设置或允许设置此限制。我应该在哪里设置它?

答案1

A错误报告给出systemd了解决方案。需要创建或更新并添加 以下部分:/etc/systemd/system/[email protected]/ulimit.confLimitNOFILE=infinity[Service]

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

相关内容