在docker主机vs容器限制

对于这个问题,我无法find直接的答案,但这里是:

可以说,我有一个主机有最大打开文件1024:

[root@host]# ulimit -a open files (-n) 1024 

以及在该主机中运行的docker工具容器,具有:

 [root@container]# ulimit -a open files (-n) 1048576 

那么,如果我将尝试打开更多的1024个文件,那么容器中会出现问题吗? 我认为在这种情况下,容器的实际限制将是1024个文件。 你怎么看?

真正的限制将是1048576。

看看这个图像的正确部分,它显示了容器基本上是孤立的进程,运行在同一个操作系统上:

容器与虚拟机

由于容器中的每个系统调用都将由主机操作系统直接处理,显示的ulimit(1048576)直接来自主机操作系统,这是将要使用的值。

例如,ulimits的差异可能是由Dockerconfiguration造成的。

(请注意,对于虚拟机 ,这将有所不同:来宾操作系统可能会显示值为1048576,但打开的调用最终将由主机操作系统来处理,这将强加1024的限制)