34 lines
986 B
Markdown
34 lines
986 B
Markdown
|
|
# soul-api Docker 部署
|
|||
|
|
|
|||
|
|
Docker 相关配置均在此目录,根目录仅保留 `deploy.py`。
|
|||
|
|
|
|||
|
|
## 文件说明
|
|||
|
|
|
|||
|
|
| 文件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| `Dockerfile` | 多阶段构建(golang + alpine),需拉取 golang 镜像 |
|
|||
|
|
| `Dockerfile.local` | 仅运行阶段,配合 `deploy.py --local-go` 使用本地 Go 编译 |
|
|||
|
|
| `docker-compose.bluegreen.yml` | 蓝绿部署(8081/8082),含 Redis 7-alpine |
|
|||
|
|
| `docker-compose.production.yml` | 生产单实例部署 |
|
|||
|
|
| `docker-compose.yml` | 本地开发 Redis |
|
|||
|
|
| `docker-deploy-remote.sh` | 服务器端蓝绿切换脚本 |
|
|||
|
|
|
|||
|
|
## 镜像版本
|
|||
|
|
|
|||
|
|
- **soul-api**:Go 1.25,alpine 3.19
|
|||
|
|
- **Redis**:7-alpine(与 soul-api 一并打包上传,服务器无需拉取)
|
|||
|
|
- **MySQL**:外部服务,不打包
|
|||
|
|
|
|||
|
|
## 用法
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 一键部署(蓝绿)
|
|||
|
|
python deploy.py --mode docker
|
|||
|
|
|
|||
|
|
# 使用本地 Go 编译
|
|||
|
|
python deploy.py --mode docker --local-go
|
|||
|
|
|
|||
|
|
# 本地启动 Redis
|
|||
|
|
docker compose -f deploy/docker-compose.yml up -d
|
|||
|
|
```
|