服务器为 4 核 CPU,运行一个包含约 10 个容器的 Docker Compose 项目。当我进入「Docker → 容器编排 」详情页面时,即使不点击单个容器的“日志”按钮,页面底部的“编排日志”也会自动开始读取日志。随后服务器 CPU 会立即明显升高。
异常期间的表现:
- dockerd CPU 一度达到约 360%,相当于占用约 3.6 个核心;
- BT-Panel 随后持续占用约 100%,相当于一个核心;
- Docker 容器本身 CPU 占用很低,Java、MySQL、Redis 等业务进程没有异常;
- 容器没有发生 OOM 或反复重启;
- 对应容器的 JSON 日志文件约 14.7 MiB,并不算大;
- 结束卡住的 docker logs/docker-compose logs -f 进程后,dockerd 从约 360% 降至约 5%;
- 重启宝塔面板后,BT-Panel 从约 100% 恢复到约 2.5%;
- 最终服务器 CPU 空闲率恢复到约 90%;
- 再次进入该“容器编排”详情页面,CPU 又会立即升高,因此可以稳定复现。
初步判断是“容器编排”详情页面的实时日志功能,或者 Docker 插件与 Docker 日志 API 的交互存在异常,导致日志读取进程卡住或高频轮询。
请协助确认:
- “容器编排”详情页面是否会自动执行 docker-compose logs -f;
- 是否存在日志连接未正确关闭、重复创建或高频轮询的问题;
- 为什么 docker logs --tail 200 在日志文件较小时仍会长时间不退出;
- 是否有已修复该问题的 Docker 插件或宝塔面板版本;
- 是否可以关闭详情页面底部的自动实时日志,只在用户手动点击时加载。
|
|