本篇文章我们将使用Docker在本地部署DashDot服务器仪表盘,并且结合cpolar内网穿透工具可以实现公网实时监测服务器系统、处理器、内存、存储、网络、显卡等,并且拥有API接口。
DashDot是一款简单、实用的开源现代服务器仪表盘,主要应用于小型 VPS 和私人服务器(比如说NAS),它是一个界面非常漂亮的监控服务器面板!
1. 本地环境检查
本篇文章演示环境为CentOS 7,使用Xshell7进行ssh,需安装Docker(本次实践部署环境为个人测试环境,生产环境请谨慎)
1.1 安装docker
没有安装Docker的小伙伴需安装Docker,已有Docker可跳过以下步骤。
首先在终端中执行下方命令:
添加Docker源
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
安装Dokcer包
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
通过运行映像来验证 Docker 引擎安装是否成功
sudo docker run hello-world
检查Docker服务是否正常运行,确保Docker正常运行
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2024-01-28 21:30:09 PST; 11s ago
Docs: https://docs.docker.com
Main PID: 3158 (dockerd)
Tasks: 51
Memory: 146.4M
CGroup: /system.slice/docker.service
检查Docker版本
# docker -v
Docker version 20.10.17, build 100c701
检查docker compose版本,确保2.0以上
# docker compose version
Docker Compose version v2.19.1
1.2 下载Dashdot镜像
从docker hub拉取Dashdot镜像
docker pull mauricenino/dashdot
2. 部署DashDot应用
创建部署目录
mkdir -p /data/dashdot
cd /data/dashdot
使用docker-cli创建Dashdot容器
docker run -d \
-p 8987:3001 \
-v /etc/os-release:/etc/os-release:ro \
-v /proc/1/ns/net:/mnt/host_ns_net:ro \
--privileged \
mauricenino/dashdot
编辑docker-compose.yaml文件
version: '3'
services:
dashdot:
image: mauricenino/dashdot
ports:
- 8987:3001
volumes:
- /etc/os-release:/etc/os-release:ro
- /proc/1/ns/net:/mnt/host_ns_net:ro
privileged: true
使用docker compose方式快速创建Dashdot容器
docker compose up -d
检查Dashdot容器状态,确保Dashdot容器正常启动