Может ли ulimit для контейнеров в процессе демона докера быть выше, чем предел самого процесса демона?
Docker в документации ничего об этом не упоминается:
От: https: //docs.docker. com / engine / reference / commandline / dockerd / # default-ulimit-settings
- default-ulimit позволяет вам установить параметры ulimit по умолчанию, которые будут использоваться для всех контейнеров. Принимает те же параметры, что и --ulimit для докера запустить. Если эти значения по умолчанию не установлены, настройки ulimit будут унаследованы, если не установлен при запуске докера, из демона Docker. Любые - предельные параметры передано в docker run, эти значения по умолчанию будут перезаписаны.
Я проверил с Amazon Linux, похоже, может.
Давайте проверим это, настроив ulimit для максимального количества открытых файлов:
cat /proc/$(ps -A | grep dockerd | awk '{print $1}')/limits | grep "files"
Если демон докера запущен, вывод будет следующим:
Max open files 65536 65536 files
# run container in daemon mode
docker run -d -it --rm --ulimit nofile=99999:99999 python python;
# show max files for the python process
cat /proc/$(ps -A | grep python | awk '{print $1}')/limits | grep "files"
Вывод:
Max open files 99999 99999 files