轻量级 Docker Web 管理面板
轻量级 Docker 管理面板,基于原生 JavaScript + Express 构建。无重型框架,无复杂依赖,一个单页应用搞定一切。
支持多实例管理,包括本机 Docker 和 Docker-in-Docker (DinD) 环境。
| Docker View | Portainer | Docker Desktop | |
|---|---|---|---|
| 镜像大小 | ~150 MB | ~300 MB | ~1 GB+ |
| 启动时间 | < 2s | ~10s | ~30s |
| 多 Docker | DinD 支持 | Swarm/K8s | 单实例 |
| 中文界面 | 原生支持 | 部分支持 | 不支持 |
| 开源协议 | MIT | Zlib | 否 |
- 仪表盘 — 容器/镜像/网络/数据卷统计,磁盘使用,Docker 引擎信息
- 多实例 — 在本机 Docker 和 DinD 容器之间无缝切换
- 容器管理 — 启动、停止、重启、删除;查看日志、监控、文件;Web 终端;容器修改可提交为新镜像
- 镜像管理 — 构建、拉取、导出、导入,实时流式进度
- Compose — 管理 Docker Compose 项目:从 YAML 创建,up/down/restart
- 网络与数据卷 — 创建、删除、检查、清理未使用资源
- 容器模板 — 9 个内置模板(Docker DinD、nginx、mysql、redis、postgres、mongo、mariadb),一键部署
- 构建系统 — 管理构建规则,一键构建,流式日志,支持自动导出
- 资源监控 — 实时 CPU/内存图表
- 定时任务 — 自动清理悬空镜像、已停止容器、未使用卷
- 权限控制 — 管理员/只读两种角色,完整审计日志
- 中英双语 — 自动检测浏览器语言
- 快捷键 —
Esc关闭、/搜索、Ctrl+1-9切换视图、r刷新
docker run -d \
--name docker-view \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart unless-stopped \
akbaji/docker-view:latest打开 **http://localhost:9000**,首次访问创建管理员账号即可。
git clone https://github.com/akbaji/docker-web-dashboard.git
cd docker-web-dashboard
docker compose up -d需要 Node.js 18+
git clone https://github.com/akbaji/docker-web-dashboard.git
cd docker-web-dashboard
npm install
npm run web| 变量 | 默认值 | 说明 |
|---|---|---|
PORT |
9000 |
服务监听端口 |
TZ |
系统时区 | 时区(如 Asia/Shanghai) |
高级用户如需管理多个 Docker 环境,可参考 docker-compose.dind.yml,通过 Web 界面或 web/config/instances.json 配置:
{
"default": "local",
"instances": [
{ "id": "local", "name": "Local Docker", "type": "direct" },
{ "id": "dind-20", "name": "Docker 20 (DinD)", "type": "dind", "container": "my-docker-20" }
]
}web/
├── server.js # 入口文件
├── lib/
│ ├── docker-adapter.js # Docker 命令抽象(直连 + DinD)
│ ├── instance-manager.js# 多实例管理
│ ├── auth.js # 基于 Session 的认证
│ ├── audit.js # 审计日志(JSONL)
│ └── scheduler.js # 定时任务引擎
├── routes/ # REST API 模块
│ ├── containers.js # 容器 CRUD + 终端
│ ├── images.js # 镜像构建/拉取/导出
│ ├── build.js # 构建规则 & 流式日志
│ ├── compose.js # Docker Compose 管理
│ ├── templates.js # 一键部署模板
│ └── ...
└── public/ # 前端 SPA
├── app.js # 应用逻辑
├── i18n.js # 国际化(中/英)
└── style.css # 样式
A clean, fast Docker management dashboard built with vanilla JavaScript and Express. No heavy frameworks, no complex dependencies — just a single-page app that works.
Supports multi-instance management, including local Docker and Docker-in-Docker (DinD) environments.
| Docker View | Portainer | Docker Desktop | |
|---|---|---|---|
| Image Size | ~150 MB | ~300 MB | ~1 GB+ |
| Startup Time | < 2s | ~10s | ~30s |
| Multi-Docker | DinD support | Swarm/K8s | Single daemon |
| Chinese UI | Native | Partial | No |
| Open Source | MIT | Zlib | No |
- Dashboard — Container/image/network/volume counts, disk usage, Docker engine info
- Multi-Instance — Switch between local Docker and DinD containers seamlessly
- Container — Start, stop, restart, delete; view logs, stats, files; web terminal; commit container changes as a new image
- Image — Build, pull, export, import with real-time streaming progress
- Compose — Manage Docker Compose projects: create from YAML, up/down/restart
- Network & Volume — Create, delete, inspect, prune unused resources
- Templates — 9 built-in templates (Docker DinD, nginx, mysql, redis, postgres, mongo, mariadb) with one-click deploy
- Build System — Manage build rules, one-click builds with streaming logs, auto-export support
- Resource Monitor — Real-time CPU/memory charts for all containers
- Scheduled Tasks — Auto-cleanup dangling images, stopped containers, unused volumes
- Auth & Audit — Login with role-based access (admin/viewer), full audit logging
- i18n — English/Chinese with auto-detection
- Keyboard Shortcuts —
Escclose,/search,Ctrl+1-9switch views,rrefresh
docker run -d \
--name docker-view \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart unless-stopped \
akbaji/docker-view:latestOpen http://localhost:9000 — that's it. First visit will prompt you to create an admin account.
git clone https://github.com/akbaji/docker-web-dashboard.git
cd docker-web-dashboard
docker compose up -dRequires Node.js 18+
git clone https://github.com/akbaji/docker-web-dashboard.git
cd docker-web-dashboard
npm install
npm run web| Variable | Default | Description |
|---|---|---|
PORT |
9000 |
Server listen port |
TZ |
System TZ | Timezone (e.g. Asia/Shanghai) |
For advanced users managing multiple Docker environments, see docker-compose.dind.yml and configure instances via the web UI or web/config/instances.json:
{
"default": "local",
"instances": [
{ "id": "local", "name": "Local Docker", "type": "direct" },
{ "id": "dind-20", "name": "Docker 20 (DinD)", "type": "dind", "container": "my-docker-20" }
]
}web/
├── server.js # Entry point
├── lib/
│ ├── docker-adapter.js # Docker command abstraction (direct + DinD)
│ ├── instance-manager.js# Multi-instance management
│ ├── auth.js # Session-based authentication
│ ├── audit.js # Audit logging (JSONL)
│ └── scheduler.js # Scheduled task engine
├── routes/ # REST API modules
│ ├── containers.js # Container CRUD + terminal
│ ├── images.js # Image build/pull/export
│ ├── build.js # Build rules & streaming
│ ├── compose.js # Docker Compose management
│ ├── templates.js # One-click deploy templates
│ └── ...
└── public/ # Frontend SPA
├── app.js # Application logic
├── i18n.js # i18n (en/zh)
└── style.css # Styles





