Может ли ulimit для контейнеров в процессе демона докера быть выше, чем предел самого процесса демона?

Может ли ulimit для контейнеров в процессе демона докера быть выше, чем предел самого процесса демона?

Docker в документации ничего об этом не упоминается:

От: https: //docs.docker. com / engine / reference / commandline / dockerd / # default-ulimit-settings

- default-ulimit позволяет вам установить параметры ulimit по умолчанию, которые будут использоваться для всех контейнеров. Принимает те же параметры, что и --ulimit для докера запустить. Если эти значения по умолчанию не установлены, настройки ulimit будут унаследованы, если не установлен при запуске докера, из демона Docker. Любые - предельные параметры передано в docker run, эти значения по умолчанию будут перезаписаны.

2
задан 4 June 2018 в 21:47
1 ответ

Я проверил с Amazon Linux, похоже, может.

Давайте проверим это, настроив ulimit для максимального количества открытых файлов:

  1. Максимальное количество открытых файлов: демон докера:
cat /proc/$(ps -A | grep dockerd | awk '{print $1}')/limits | grep "files"

Если демон докера запущен, вывод будет следующим:

Max open files            65536                65536                files
  1. Теперь запустите контейнер докера с настроенными ulimit (пусть это будет python, но убедитесь, что другой питон не работает на вашем компьютере):
# 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
0
ответ дан 3 December 2019 в 13:57

Теги

Похожие вопросы