Como definir descritores de arquivos máximos para um contêiner?

1

Eu quero rodar o elasticsearch em um container (a saber, nspawn ) e ele requer que o número de descritores de arquivos máximos seja maior que o padrão 1024.

Isso é feito, no contêiner, no arquivo systemd service apropriado para elasticsearch. Este pedido no início do serviço não é, no entanto, levado em conta, o limite fica em 1024.

Eu então tentei alterar este limite na linha de comando dentro do container, mas acredito que isso não é possível (o que é compreensível):

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

Acredito que esse limite deve ser definido ou ter permissão para ser definido no nível do host. Onde devo configurar isso?

    
por WoJ 03.05.2017 / 21:20

1 resposta

2

Um relatório de erros para systemd deu a solução. É preciso criar ou atualizar /etc/systemd/system/[email protected]/ulimit.conf e adicionar LimitNOFILE=infinity na seção [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
    
por 03.05.2017 / 21:40