首页 > 解决方案 > Ubuntu Docker 服务器限制为 114 个容器

问题描述

我目前有 114 个 .Net Core 2.2 API 容器在 Ubuntu 20.04 服务器上运行。当我添加一个新容器时,该容器立即关闭,退出代码为 0,并且没有消息发送到标准输出。如果我停止以前运行的容器,新容器可以工作,但我停止的容器不会重新启动 - 相同的退出代码 0 并且没有消息到标准输出。基本上,所有容器都可以工作,但一次只有 114 个。

目前,我选择了一种“不太重要”的容器进行试验。

我试过的:

我在 Program.cs 中添加了一个 Console.Writeline 作为 Main 的第一行,并将 ENTRYPOINT 更改为 /bin/bash 并尝试手动运行“dotnet”命令。几秒钟后,它只是返回到命令提示符,没有输出(Writeline 永远不会被执行)。

我已经使用docker inspect在容器停止后检查它,它似乎没有被 OOMKilled。

我使用docker logs来显示日志,但它什么也没显示。

我还将fs.inotify.max_user_watches从 8192 增加到 16384,没有任何变化。

内存或 CPU 似乎不是问题: 在此处输入图像描述

这是我的码头信息

在此处输入图像描述

任何建议,将不胜感激。

标签: docker.net-core

解决方案


感谢@omajid的评论,我终于能够返回至少某种错误。

错误是:“已达到配置的 inotify 实例数量的用户限制 (128)”。

修复是通过执行增加max_user_instances的数量:

sudo sysctl fs.inotify.max_user_instances=256


推荐阅读