Docker容器目前以无限制的ulimits运行......
但是,主机系统对所有内容都有限制。
如何测试它是否符合主机系统?我可以用任何方式模拟最大打开文件连接等吗?
我很好奇Docker如何实际分配此限制,因为服务器受到很多东西的限制,包括开放端口等。
目前我认为......有不同的ips分配给不同的容器...... 所以每个ips可以有65535个端口?
这意味着docker的端口无限制???文件描述符怎么样?
任何人都有任何想法?
答案 0 :(得分:1)
Docker不会篡改ulimits,如果主机有限,那么容器也是如此。
容器只不过是特殊进程,因此fd限制与主机上的任何其他进程相同。
关于端口,同样的事情,如果您的主机有任何限制,Docker将不会绕过它们。它只是创造了一个veth对。因此,您很可能仅限于65535 * max veth端口。
您可以通过编写一个打开N个文件或N次的小程序来测试限制,看看它是否有效。
答案 1 :(得分:0)
这里配置了Docker ulimits /etc/init/docker.conf
,即docker守护进程配置,它将用于所有容器。
另请查看此answer以获取更多信息