74 lines
2.4 KiB
Markdown
74 lines
2.4 KiB
Markdown
# Docker 容器化部署指南
|
||
|
||
本指南将帮助您使用 Docker 和 Docker Compose 一键部署整个系统(后端、算法服务、数据库)。
|
||
|
||
## 1. 目录结构
|
||
|
||
确保您的项目目录结构如下(已自动为您创建了相关 Docker 文件):
|
||
|
||
```
|
||
Face-app-web/
|
||
├── docker-compose.yml # [新增] 编排文件
|
||
├── backend-java/
|
||
│ ├── Dockerfile # [新增] Java 后端镜像构建文件
|
||
│ ├── src/
|
||
│ └── pom.xml
|
||
└── FaceFeatureExtractorAPI/
|
||
├── Dockerfile # [新增] Python 算法镜像构建文件
|
||
├── feature_server.py
|
||
└── requirements.txt
|
||
```
|
||
|
||
## 2. 部署步骤
|
||
|
||
### 第一步:安装 Docker
|
||
请确保服务器已安装 Docker 和 Docker Compose。
|
||
- **Docker**: `curl -fsSL https://get.docker.com | bash`
|
||
- **Compose**: (Docker Desktop 默认包含,Linux 可能需单独安装)
|
||
|
||
### 第二步:构建并启动
|
||
在项目根目录(`Face-app-web`)下执行:
|
||
|
||
```bash
|
||
docker-compose up -d --build
|
||
```
|
||
|
||
- `-d`: 后台运行
|
||
- `--build`: 强制重新构建镜像(首次运行或代码修改后需要)
|
||
|
||
### 第三步:验证服务
|
||
执行 `docker-compose ps` 查看容器状态,应看到三个服务 (`face-mysql`, `face-algorithm`, `face-backend`) 均为 [Up](file:///e:/Face-app-web/android-sdk/face-core/src/main/java/com/bonuos/facesdk/FaceDatabaseHelper.java#45-52) 状态。
|
||
|
||
- **Java 后端**: 访问 `http://localhost:8080/index.html`->18080
|
||
- **算法接口**: 访问 `http://localhost:8000/health`->18000
|
||
- **数据库**: 端口 3306->13306
|
||
|
||
## 3. 常见维护操作
|
||
|
||
**查看日志:**
|
||
```bash
|
||
docker-compose logs -f face-backend # 查看 Java 后端日志
|
||
docker-compose logs -f face-algorithm # 查看 Python 算法日志
|
||
```
|
||
|
||
**停止服务:**
|
||
```bash
|
||
docker-compose down
|
||
```
|
||
|
||
**更新代码后重发布:**
|
||
```bash
|
||
# 1. 拉取/更新代码
|
||
# 2. 重启并构建
|
||
docker-compose up -d --build
|
||
```
|
||
|
||
## 4. 配置说明
|
||
|
||
在 [docker-compose.yml](file:///e:/Face-app-web/docker-compose.yml) 中,我们通过环境变量覆盖了默认配置,使其适应 Docker 网络:
|
||
|
||
- `SPRING_DATASOURCE_URL`: 指向 `mysql` 容器名而非 localhost。
|
||
- `FACE_EXTRACTOR_API_URL`: 指向 `face-algorithm` 容器名。
|
||
|
||
如果您修改了数据库密码或其他配置,请同步修改 [docker-compose.yml](file:///e:/Face-app-web/docker-compose.yml) 中的 `environment` 部分。
|