Files
Environment-Monitoring-System/docs/Docker_Compose_使用说明.md
2026-01-29 04:25:44 +08:00

90 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Docker Compose 使用说明
本项目在根目录提供三个 Docker Compose 配置文件,分别面向不同的运行场景。下面说明各自用途与使用方式。
## 公共说明
- 端口映射:
- 后端:`8080:8080`
- 前端:`5173:80`
- 运行前建议在根目录准备 `.env`(已提供示例),用于配置以下环境变量:
- `APP_BASE_URL`
- `TOKEN_SIGNING_KEY`
- `JWT_SECRET`
- `VOLCANO_API_KEY`
- `SPRING_MAIL_USERNAME`
- `SPRING_MAIL_PASSWORD`
> 说明:三个 Compose 文件都依赖这些环境变量;其中 `TOKEN_SIGNING_KEY`/`JWT_SECRET` 等不设置会使用空值默认。
## 1) `docker-compose.yml`(本地构建)
用途:本地开发或需要基于源码构建镜像时使用。
特点:
- `backend``frontend` 使用 `build` 从本地目录构建镜像。
- 挂载 `./ems-backend/json-db``./ems-backend/uploads` 到容器内,便于持久化数据。
使用方式PowerShell
```bash
docker compose -f docker-compose.yml up -d --build
```
停止并清理(保留挂载目录):
```bash
docker compose -f docker-compose.yml down
```
## 2) `docker-compose.hub.yml`Docker Hub 镜像)
用途:不想本地构建,直接使用 Docker Hub 公共镜像。
特点:
- `backend`/`frontend` 使用 `chuxunyu/ems-backend:latest``chuxunyu/ems-frontend:latest`
- 使用 Docker 卷 `ems_json_db``ems_uploads` 持久化数据。
使用方式PowerShell
```bash
docker compose -f docker-compose.hub.yml up -d
```
停止并清理(保留卷):
```bash
docker compose -f docker-compose.hub.yml down
```
如需删除卷(会清空数据):
```bash
docker compose -f docker-compose.hub.yml down -v
```
## 3) `docker-compose.private.yml`(私有镜像仓库)
用途:使用私有镜像仓库 `docker.aizhangz.top` 的镜像部署。
特点:
- `backend`/`frontend` 使用 `docker.aizhangz.top/ems-backend:latest``docker.aizhangz.top/ems-frontend:latest`
- 使用 Docker 卷 `ems_json_db``ems_uploads` 持久化数据。
- 通常需要先登录私有仓库。
使用方式PowerShell
```bash
docker login docker.aizhangz.top
docker compose -f docker-compose.private.yml up -d
```
停止并清理(保留卷):
```bash
docker compose -f docker-compose.private.yml down
```
如需删除卷(会清空数据):
```bash
docker compose -f docker-compose.private.yml down -v
```
## 常见检查
- 前端:访问 `http://localhost:5173`
- 后端:访问 `http://localhost:8080`(可结合后端 Swagger UI