Docker 部署
本文介绍如何使用 Docker Compose 快速部署止危平台。
环境要求
- Docker Engine >= 24.0
- Docker Compose >= 2.20
- 至少 2 核 CPU、4 GB 内存、50 GB 可用磁盘
目录结构
zhiwei/
├── docker-compose.yml
├── .env
├── shm-backend/
├── shm-frontend/
└── shm-collector/1. 获取代码
bash
git clone https://github.com/zhiwei-shm/zhiwei.git
cd zhiwei2. 配置环境变量
复制示例配置文件:
bash
cp .env.example .env编辑 .env,常见配置项如下:
txt
# 数据库
POSTGRES_USER=admin
POSTGRES_PASSWORD=change_me
POSTGRES_DB=zhiwei
# 前端访问端口
ZHIWEI_PORT=8080
# 后端服务
ZHIWEI_API_URL=http://localhost:3000
# 初始管理员
ZHIWEI_ADMIN_USER=admin
ZHIWEI_ADMIN_PASSWORD=admin生产环境请务必修改默认密码与数据库密码。
3. 启动服务
bash
docker compose up -d等待所有服务健康检查通过:
bash
docker compose ps4. 访问平台
打开浏览器访问:
http://localhost:8080使用 .env 中配置的初始管理员账号登录。
5. 查看日志
bash
# 查看全部服务日志
docker compose logs -f
# 查看指定服务日志
docker compose logs -f shm-backend6. 停止与更新
停止服务:
bash
docker compose down停止并保留数据:
bash
docker compose down停止并删除数据卷(谨慎操作):
bash
docker compose down -v更新到新版:
bash
git pull
docker compose pull
docker compose up -d文档站容器化
本项目(shm-docs)自带 Dockerfile,可构建独立的文档站镜像(Nginx 提供静态站点)。
构建镜像
bash
docker build -t zhiwei-docs .运行
bash
docker run -d --name zhiwei-docs -p 8080:80 zhiwei-docs访问 http://localhost:8080 即可查看文档站。
健康检查
镜像内置健康检查,可使用 docker inspect 查看状态:
bash
docker inspect --format '{{.State.Health.Status}}' zhiwei-docs生产环境建议
- 使用独立数据库:将 PostgreSQL 与时序数据库部署在独立主机或托管服务上,便于备份与扩展。
- 启用 HTTPS:使用 Nginx / Traefik 等反向代理并配置 TLS 证书。
- 配置日志轮转:避免容器日志无限增长占满磁盘。
- 设置资源限制:在
docker-compose.yml中为各服务配置mem_limit与cpus。 - 定期备份:参考 备份与恢复。
故障排查
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 前端无法访问 | 端口冲突或服务未启动 | 检查 docker compose ps 与端口映射 |
| 后端启动失败 | 数据库连接失败 | 检查 .env 数据库配置与网络连通性 |
| 数据不显示 | 时序数据库未初始化 | 查看后端日志确认初始化脚本执行结果 |
| 告警不触发 | 规则未启用或通知配置错误 | 检查告警规则状态与通知渠道配置 |