Linux 容器从何处获得它';用户未设置时的限制(无文件和类似限制)?

Linux 容器从何处获得它';用户未设置时的限制(无文件和类似限制)?,linux,docker,docker-compose,Linux,Docker,Docker Compose,这是我一直在努力寻找的东西,除了轶事的答案,我真的很想找到一些关于这方面的可靠信息 这就是我的情况(我将重点关注no_文件限制,因为这是我最感兴趣的): 我有一个容器 Swarm没有被使用 我可以使用docker检查它,看到“Ulimits”:null 我使用一个组合文件 主机和容器正在运行linux(ubuntu) 我没有设定 我没有设定 我不设定限制 在主机上,我可以看到所有的/etc/default/docker都被注释掉了 在主机上,我使用systemd启动docker,不管怎样,它都

这是我一直在努力寻找的东西,除了轶事的答案,我真的很想找到一些关于这方面的可靠信息

这就是我的情况(我将重点关注no_文件限制,因为这是我最感兴趣的):

  • 我有一个容器
  • Swarm没有被使用
  • 我可以使用docker检查它,看到
    “Ulimits”:null
  • 我使用一个组合文件
  • 主机和容器正在运行linux(ubuntu)
  • 我没有设定
  • 我没有设定
  • 我不设定限制
  • 在主机上,我可以看到所有的
    /etc/default/docker
    都被注释掉了
  • 在主机上,我使用systemd启动docker,不管怎样,它都会忽略
    /etc/default/docker
  • 主机上没有传递给
    dockerd
  • 主机上没有
    /etc/docker/daemon.json
    文件(后两个文件相关)
  • 在主机上
    ulimit-Hn
    给出
    1048576
  • 在容器中
    ulimit-Hn
    给出
    1048576
  • 容器中的
    /etc/sysctl.conf
    被注释掉(docker容器iirc忽略)
  • 容器中的
    /etc/sysctl.d
    是一个空目录
  • 容器中的
    /etc/security/limits.conf
    被注释掉(docker容器iirc忽略)
  • 容器中的
    /etc/security/limits.d
    是一个空目录
我从中了解到主机值确实会影响容器。但不是什么需要优先考虑

我发现的最佳线索如下:

然后弄脏水的是
/lib/systemd/system/docker.service
[service]
部分中有一行内容为
LimitNOFILE=1048576
。因此,我不确定这是否在docker deamon pid(ala ulimits)上设置了硬限制,如果是的话,这是否优先于主机的既定限制(假设是这样的?)

在某种程度上,它“无关紧要”,只要我的数字在我需要的范围内,它就应该是好的。然而,我真的希望能够理解这里的实际行为,并知道是否有任何关于行为是什么(或应该是什么)的官方信息


谢谢。

不相关,但我会链接到这里,因为它也没有很好的文档记录:不相关,但我会链接到这里,因为它也没有很好的文档记录: