飞牛 Docker 容器管理增强版(docker-center)使用教程
它是什么、适合谁
如果你的 NAS 或服务器上跑着几十个 Docker 容器,Docker 命令行和 Portainer 都是按「容器」一行动列——一个应用里的数据库挂了,它就静静躺在列表中间,根本看不出来。docker-center 把容器按应用(一个 Compose 项目)聚合成卡片:打开就是「哪个应用坏了、吃了多少 CPU/内存、磁盘能清理出多少空间」,坏的应用永远排在最前面。
它界面全中文,单容器常驻内存约 40MB,不需要装 agent、不需要数据库,也不依赖任何云服务,数据全在本机。所有截图都是在 61 个容器真实运行的机器上截的。
快速开始
前置条件:Linux / 飞牛 NAS 上已装 Docker 与 compose 插件(docker compose version 能跑通),并且装了 git。
一条命令安装:
curl -fsSL https://gitee.com/jinghui111/docker-center/raw/main/install.sh | bash
脚本会自动探测 docker 目录、拉源码、写 .env、起容器并等待健康检查通过,最后打印访问地址(默认 http://IP:7030)。想换端口或安装目录,在命令前加变量:
PORT=8080 \
COMPOSE_ROOT=/你的/docker目录 \
INSTALL_DIR=/opt/docker-center \
bash install.sh
不想编译源码,就用预构建镜像(腾讯云 TCR 主地址,国内可用自建 Gitea 备用地址):
docker pull jpccr.ccs.tencentyun.com/jinghui/docker-center:1.0.1
services:
docker-center:
image: jpccr.ccs.tencentyun.com/jinghui/docker-center:1.0.1
container_name: docker-center
ports: ["7030:7030"]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /:/host:ro
- ./data:/app/data
environment:
- TZ=Asia/Shanghai
restart: always
界面速览
概览页(默认首页):顶部是应用总数 / 异常 / 注意 / 资源占用 / 运行容器的统计条,下面并排三条趋势曲线(流量 / CPU / 内存),再往下是 CPU 与内存占用 Top 5 榜和 10 类规则生成的优化建议。
运行的容器页:只列运行中的容器,表格含 CPU、内存、网络、磁盘、安装时间等列并用进度条显示占用,默认按最新安装时间排序,行内可直接启停、重启、看详情。
常用操作
- 看哪个应用坏了:首页「需要关注的应用」只列异常与注意的应用(最多 6 个),卡片上可直接启停;菜单角标也会提示有异常。
- 查历史趋势:概览页三张趋势图支持「今天 / 昨天 / 近 30 天 / 近 12 个月」和任意日期查询,数据 3 秒采样、按小时落盘,重启不丢。
- 揪出偷资源的家伙:CPU、内存、网络、运行时长四个 Top 5 榜并列显示,点任意一行直接进详情。
- 清理磁盘:首页「优化建议」按 高 / 中 / 低 排序,悬空镜像、构建缓存这类可直接点按钮一键清理(不影响运行中的容器);特权容器、挂 docker.sock、无内存上限、latest 镜像等 10 类规则都会扫出来。
- 看应用详情:进入应用详情可整应用启停重启,有全部容器表格 + 聚合日志(多容器合并、按容器名加前缀)+ 事件时间线。
- 单容器操作:容器详情抽屉里有资源曲线、日志、配置、挂载网络四个 tab,可一键停止 / 重启 / 暂停 / 删除,也能给应用设 CPU(核)与内存(MB)上限(走 cgroup 硬限制,行内显示
限 0.3核/96M角标)。 - 批量部署 Compose:镜像仓库页支持多段 Compose 批量部署,用
---分隔多项目,可用# 目录:、# 项目:、# ENV: KEY=VALUE指定安装目录、项目名和环境变量。 - 管理镜像与网络:本地镜像页可查看占用、单个/批量导出 tar.gz、导入、批量删除(被占用自动跳过)、清理悬空镜像;网络页可新建驱动/子网/网关并删除空闲网络。
- 备份:备份与恢复页一键把面板数据 + Compose 配置打包成 tar.gz 下载(不含数据卷),附
manifest.json。 - 配告警:告警设置页填 CPU/内存阈值与 Webhook 地址,可设推送间隔、测试推送、查看事件。
- 控制刷新:顶栏可调刷新间隔(1/2/3/5/10/30 秒,默认 3 秒)、暂停/继续自动刷新、手动刷新。刷新是无感的——正在输入或开着详情抽屉时不会把你填到一半的内容刷掉。
常见问题
- 能挂到公网吗? 不要。面板挂载了
/var/run/docker.sock,等同宿主 root 权限,只放在内网或带鉴权的反代后面。 - Webhook 收不到推送? 容器里的
127.0.0.1指容器自己,要推给宿主机服务请用宿主 LAN IP(如http://192.168.68.19:端口/hook)或http://host.docker.internal:端口/hook(compose 已加host-gateway)。另外同一应用在 10 分钟内只推一条,避免刷屏。 - 刷新间隔设成 1 秒怎么没变快? 后端固定 3 秒采样一次,设 1~2 秒只是更勤地读缓存,不会更快拿到新数据。
- 重启面板后曲线没了? 趋势曲线与 24 小时可用率在内存里,服务重启后重新累积;设置、事件与按小时的历史账本持久化在
data/下,不会丢。 - 应用是怎么分组的? 依据容器上的
com.docker.compose.project标签;手工docker run起的容器各自算一个「单容器应用」。 - 升级 / 卸载:升级重跑安装那条命令(自动
fetch+reset --hard后重建);卸载执行cd <安装目录> && docker compose down -v && cd .. && rm -rf <安装目录>。
更新与版本
- 1.0.4(2026-10-27):修复授权中心删掉公告后面板仍显示旧公告的问题——公告缓存、后端刷新、前端轮询统一降到 60 秒,公告清空时自动关闭已打开的公告面板。
- 1.0.3(2026-10-27):隐藏内部统计信息,设置页与
/api/version不再返回机器码、安装编号、心跳时间;关闭上报改为HUB_DISABLED=1或data/settings.json的"telemetry": false。 - 接入授权中心:右上角常驻版本号与更新提示、公告铃铛(未读红点、重要公告弹一次)、安装登记与 30 分钟心跳;授权中心不可达时面板照常工作。
面板右上角常驻显示当前版本号,有新版本时会变成 v当前 → v最新 的高亮样式,点开可看更新说明与发布页。