Docker容器可视化仪表盘DockDash

简介
什么是 DockDash ?
DockDash是一个自托管的Docker仪表盘,用于可视化Docker容器和网络服务。它可以帮助用户自动发现容器、监控服务健康状态、检测镜像更新,并在交互式画布上绘制服务连接关系。
主要特点
- Docker 自动发现:扫描所有运行中的容器,自动将其端口暴露为可视化服务
- 网络扫描:对指定的
CIDR网段进行端口扫描,发现非Docker管理的服务 - 健康监控:定期检查每个服务的状态,实时显示存活状态
- 健康历史:以颜色编码的时间线可视化过去
1、7或30天的正常运行时间 - 容器日志:直接在
UI中流式显示容器日志,支持时间戳解析和ANSI颜色过滤 - 文件浏览器:浏览容器文件系统,查看和编辑文本文件
- 终端访问:通过
xterm.js在容器内执行交互式Shell命令 - 更新监控:检查
Docker镜像是否有新版本,自动标记过时容器 - 变更日志:自动获取
GitHub Release信息,显示在服务详情面板中 - 交互式画布:可拖拽节点、绘制服务连接、缩放和平移
- 多主题支持:内置多种
UI主题,在设置页面即可切换 - OIDC 认证:支持标准
OpenID Connect单点登录(Keycloak、Authentik等)
应用场景
- 家庭服务器监控:实时掌握群晖上所有
Docker容器的运行状态 - 开发环境管理:快速查看微服务架构中各服务的连接关系和健康状态
- 运维巡检:通过健康历史图表,直观发现服务的稳定性趋势
- 镜像更新提醒:及时获知容器是否有可用更新,避免错过重要安全补丁
- 远程服务器管理:连接远程
Docker守护进程,统一管理多台服务器的容器

DockDash 是一个功能强大的 Docker 可视化管理工具,将容器监控、日志查看、文件管理和终端操作整合在一个优雅的界面中。
安装
在群晖上以 Docker 方式安装。
本文写作时,
latest版本对应为v0.8.0;

注意:由于该项目需要挂载
/var/run/docker.sock(Docker Socket),群晖 Docker 套件无法通过图形化方式挂载此路径,因此只能通过命令行方式安装。
docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 dockdash 和 子目录
mkdir -p /volume1/docker/dockdash/data
# 进入 dockdash 目录
cd /volume1/docker/dockdash
# 运行容器
docker run -d \
--name=dockdash \
--restart=unless-stopped \
-p 3157:3001 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/data:/app/data \
-e NETWORK_CIDRS=192.168.0.1/24 \
dockdash
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
services:
dockdash:
image: ghcr.io/dougmaitelli/dockdash:latest
container_name: dockdash
restart: unless-stopped
ports:
- "3157:3001"
environment:
- LOG_LEVEL=info
- NETWORK_CIDRS=192.168.0.1/24 # 修改为你的局域网网段
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker Socket
- /volume1/docker/dockdash/data:/app/data # 数据持久化
然后通过 SSH 登录到您的群晖,执行下面的命令:
# 新建文件夹 dockdash 和 子目录
mkdir -p /volume1/docker/dockdash/data
# 进入 dockdash 目录
cd /volume1/docker/dockdash
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d

运行
在浏览器中访问 http://<群晖IP>:3157 即可进入 DockDash 仪表盘

进入 Discover --> Scan Docker

会搜索出本机的 docker 容器

可以单个 Import,也可以 Import All (40) 一次性导入

加入 Dashboard

网络也是一样,可以在容器、网络等之间通过连线描述关系

双击可以查看容器的详情,包括运行时间,日志等等

提示:
DockDash默认没有开启认证。如果需要暴露在公网,建议配置OIDC认证或通过反向代理添加认证层。
注意事项
- Docker Socket 权限:挂载
/var/run/docker.sock等同于给予容器对 Docker 守护进程的完全控制权,相当于 root 权限。请确保仅在可信环境中使用 - 网络安全:如果担心安全问题,可以使用 tecnativa/docker-socket-proxy 作为 Docker 访问代理,限制
API访问权限 - 网段配置:默认只扫描
192.168.0.1/24,如果你的局域网使用其他网段(如192.168.1.0/24或10.0.0.0/16),需要修改NETWORK_CIDRS环境变量 - 性能考虑:网络扫描会对指定网段的所有
65535个TCP端口进行扫描,建议只配置需要监控的网段范围 - 数据持久化:容器数据存储在
/app/data目录,建议挂载到群晖本地文件夹以防数据丢失 - 认证配置:如需开启 OIDC 认证,请同时设置
OIDC_ISSUER、OIDC_CLIENT_ID、OIDC_CLIENT_SECRET和SESSION_SECRET环境变量
参考文档
dougmaitelli/DockDash: A self-hosted dashboard for visualizing Docker containers and network services
地址:https://github.com/dougmaitelli/DockDash
tecnativa/docker-socket-proxy: Hardened Docker Socket Proxy for enhanced security
地址:https://github.com/Tecnativa/docker-socket-proxy
更多推荐
所有评论(0)