🔥 告别臃肿!Rabbit Panel:轻量到极致的 Docker 容器运维面板

作为一名开发者 / 运维人员,你是否受够了功能冗余、资源占用高的容器管理工具?有没有一款工具能做到极致轻量,却又能覆盖 Docker 全生命周期管理?今天给大家安利一款我开源的容器运维面板 ——Rabbit Panel,单二进制、零依赖,30MB 内存就能玩转 Docker 全管理!

🎯 为什么做 Rabbit Panel?

市面上的容器管理工具要么太重(动辄几百 MB 内存),要么功能残缺(只做基础启停),要么依赖繁多(数据库、运行时一堆)。我想要的是:

  • 足够轻:单机部署无负担,低配服务器也能跑
  • 够实用:覆盖容器、镜像、网络、卷、Compose 核心场景
  • 易部署:单文件启动,无需折腾环境于是就有了 Rabbit Panel,一款专为中小团队 / 个人开发者打造的轻量 Docker 运维面板。

✨ 核心特性:轻量但不妥协

1. 极致轻量化,资源占用天花板

  • 运行时内存 ≤ 30MB,二进制文件 ≤ 10MB
  • 零依赖:单二进制文件,内置前端页面,无需数据库、Redis 等中间件
  • 跨平台:Linux/amd64/arm64 全兼容,云服务器 / 树莓派都能装

2. 全维度 Docker 管理,一站式搞定

容器管理:启动 / 停止 / 重启 / 删除,实时日志(SSE 流式输出)、Web 终端直连、容器文件管理(创建目录 / 上传下载)

镜像管理:查看镜像详情、删除无用镜像、在线构建自定义镜像

网络 / 存储卷:创建 / 删除网络、查看容器网络绑定;卷的增删、批量清理未使用卷

Docker 配置:在线编辑守护进程配置(镜像加速器、私有仓库、日志配置),无需手动改文件

Compose 管理:在线编写 / 编辑docker-compose.yml,一键 Up/Down/Restart/Pull/Logs,媲美 Portainer

3. 实用增值能力,运维效率拉满

  • 📊 系统监控:CPU / 内存 / 磁盘 5 秒级实时刷新,资源状态一目了然
  • 🎛️ 多节点管理:Master/Worker 架构,一套面板管理多台服务器
  • 🔒 安全认证:JWT 登录 + HMAC 节点认证,避免未授权访问
  • 🌐 响应式设计:PC / 平板 / 手机无缝切换,手机端也能应急运维
  • 🌍 国际化:中文 / 英文双语言,适配不同使用场景

🚀 快速上手:两种部署方式(二进制 / Docker)

方式一:二进制部署

第一步:下载二进制文件

此处仅为参考:需根据版本在下方地址进行下载https://github.com/reisen7/rabbit-panel/releaseshttps://github.com/reisen7/rabbit-panel/releases

# 替换为对应架构(amd64/arm64)
wget https://github.com/reisen7/rabbit-panel/releases/latest/download/rabbit-panel-linux-amd64 -O rabbit-panel
chmod +x rabbit-panel
第二步:启动面板
# 直接启动(默认端口9999)
./rabbit-panel

# 自定义端口启动
PORT=8080 ./rabbit-panel

方式二:Docker 部署

一键启动容器
# 基础版(默认端口9999,挂载Docker套接字实现管理)
docker run -d \
  --name rabbit-panel \
  --restart unless-stopped \
  -p 9999:9999 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /root/rabbit-panel/compose_projects:/app/compose_projects \
  -v /root/rabbit-panel/data:/app/data \
  -e TZ=Asia/Shanghai \
  reisen7/rabbit-panel:latest

docker-compose 部署
# 克隆代码
git clone https://github.com/reisen7/rabbit-panel.git
cd rabbit-panel

# 一键启动
docker compose -f docker-compose.deploy.yml up -d

# 查看日志
docker logs -f rabbit-panel

# 停止
docker compose -f docker-compose.deploy.yml down

第三步:访问使用

浏览器打开 http://服务器IP:9999(或自定义端口),默认账号密码 admin/admin(可自行修改)登录后即可开始管理 Docker!

💡 注意事项:

  1. Docker 部署时必须挂载/var/run/docker.sock,否则面板无法连接 Docker 引擎;
  2. 建议添加--restart always,确保服务器重启后面板自动运行;
  3. 数据卷rabbit-panel-data用于持久化面板配置,避免重启后配置丢失。

💡 核心设计亮点

1. 前端:轻量且高效

基于 Vue3 + Element Plus 构建,Vite 打包优化:

  • 第三方库拆分打包(Vue/ElementPlus/Xterm 分离),加载速度提升 50%
  • 响应式布局,适配从手机到大屏的所有设备
  • WebSocket 实时通信,日志 / 终端无延迟

2. 后端:极简且稳定

基于 Go 语言开发,原生对接 Docker API:

  • 单进程运行,无额外依赖,故障概率极低
  • 内置文件管理、终端模拟,无需依赖 ssh 服务
  • 超时控制、错误处理完善,避免操作阻塞

比如容器内创建目录的核心逻辑,极简但健壮:

func handleContainerFileMkdir(w http.ResponseWriter, r *http.Request) {
    // 参数校验 + 超时控制
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()
    
    // 调用Docker API执行mkdir命令
    execConfig := types.ExecConfig{
        AttachStderr: true,
        Cmd:          []string{"mkdir", "-p", req.Path},
    }
    // 执行 + 错误反馈
    // ...
}

🎨 适用场景

  • 个人开发者:管理自己的云服务器 Docker 容器,轻量不占资源
  • 中小团队:无需复杂 K8s,轻量面板满足日常容器运维
  • 边缘设备:树莓派 / 低功耗服务器,30MB 内存就能稳定运行
  • 应急运维:手机端访问,快速处理容器问题

📌 未来规划

目前 Rabbit Panel 已经覆盖核心功能,后续会持续迭代:

  • 增加容器备份 / 恢复功能
  • 支持 Docker Swarm 集群管理
  • 完善权限控制,支持多角色
  • 增加更多监控维度(容器 CPU / 内存使用率)

📥 项目地址

GitHub:https://github.com/reisen7/rabbit-panel如果觉得项目有用,欢迎 Star ✨、Fork 🍴,也欢迎提 Issue/PR 一起完善!

💬 最后说两句

做这个项目的初衷是解决自己的痛点,也希望能帮到更多和我一样的开发者。相比于功能堆砌,我更注重「轻量、稳定、实用」—— 毕竟对大多数人来说,够用且好用才是最重要的。

如果在使用过程中有任何问题,或者有想要的功能,欢迎在评论区交流,也可以直接在 GitHub 提 Issue,我会尽量回lili

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐