Подскажите, в docker контейнере получаю ошибку:
fork: retry: Resource temporarily unavailable
Гуглил про nprocs, на хосте добавил в /etc/security/limits.d/90-nproc.conf:
* soft nproc 8192
root soft nproc unlimited
На хосте ограничение подросло, вижу:
$ ps aux -L |grep юзернейм |wc -l
1190
В конфиге /etc/init/docker.conf:
limit nproc unlimited unlimited
Где мне ещё посмотреть? Приложение в докере запускаю через docker-compose, в каждом контейнере приложение форкается примерно на 500 процессов, соответственно, уже на втором контейнере получаю ошибку. Все контейнеры запускаются на основе одного базового образа, в котором в /etc/security/limits.d/90-nproc.conf прописано:
* soft nproc 1024
root soft nproc unlimited
Но в индивидуальном контейнере меньше этого количества потоков создаётся. Но пользователь (uid) один и тот же, сессии с ним создаются внутри контейнеров с помощью su или sshd.
Мне нужно ещё и внутри контейнера лимит nproc поднимать - ограничения как-то шарятся между ними через ядро или сам докер?
Как можно узнать текущее ограничение с учётом nproc? ulimit -u - что-то не то показывало - «unlimited» - в случае дефолтного-отсутствующего в /etc/security/limits.d/90-nproc.conf лимита nproc...