1
This commit is contained in:
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"java.compile.nullAnalysis.mode": "automatic"
|
||||||
|
}
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
services:
|
|
||||||
backend:
|
|
||||||
image: chuxunyu/ems-backend:latest
|
|
||||||
ports:
|
|
||||||
- "8080:8080"
|
|
||||||
environment:
|
|
||||||
APP_BASE_URL: ${APP_BASE_URL:-http://localhost:5173}
|
|
||||||
TOKEN_SIGNING_KEY: ${TOKEN_SIGNING_KEY:-}
|
|
||||||
JWT_SECRET: ${JWT_SECRET:-}
|
|
||||||
VOLCANO_API_KEY: ${VOLCANO_API_KEY:-}
|
|
||||||
SPRING_MAIL_USERNAME: ${SPRING_MAIL_USERNAME:-}
|
|
||||||
SPRING_MAIL_PASSWORD: ${SPRING_MAIL_PASSWORD:-}
|
|
||||||
volumes:
|
|
||||||
- ems_json_db:/app/json-db
|
|
||||||
- ems_uploads:/app/uploads
|
|
||||||
|
|
||||||
frontend:
|
|
||||||
image: chuxunyu/ems-frontend:latest
|
|
||||||
ports:
|
|
||||||
- "5173:80"
|
|
||||||
depends_on:
|
|
||||||
- backend
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
ems_json_db:
|
|
||||||
ems_uploads:
|
|
||||||
89
docs/DOCKER_COMPOSE_USAGE.md
Normal file
89
docs/DOCKER_COMPOSE_USAGE.md
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# 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)
|
||||||
Reference in New Issue
Block a user