docker 守护进程内容器的 ulimit 是否可以高于守护进程本身的限制?

docker 守护进程内容器的 ulimit 是否可以高于守护进程本身的限制?

docker 守护进程内容器的 ulimit 是否可以高于守护进程本身的限制?

Docker 文档没有提及任何有关此内容:

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

--default-ulimit 允许您设置用于所有容器的默认 ulimit 选项。它采用与 docker run 的 --ulimit 相同的选项。如果未设置这些默认值,则 ulimit 设置将从 Docker 守护程序继承(如果未在 docker run 上设置)。传递给 docker run 的任何 --ulimit 选项都将覆盖这些默认值。

答案1

我已经检查过 Amazon Linux 并且看起来可以。

让我们通过调整 ulimit 来检查最大打开文件数:

  1. docker daemon最大打开文件数限制:
cat /proc/$(ps -A | grep dockerd | awk '{print $1}')/limits | grep "files"

如果 docker 守护进程正在运行,则输出为:

Max open files            65536                65536                files
  1. 现在运行一个调整了 ulimits 的 docker 容器(让它成为 python,但确保另一个 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

相关内容