361 lines
6.2 KiB
MonkeyC
361 lines
6.2 KiB
MonkeyC
下面是一套**固定、完整、推荐的 Docker 启动流程**。以后就按这套来,不要再单独用本地 `python` 或 `pnpm dev` 启动。
|
||
|
||
工作目录统一为:
|
||
|
||
```powershell
|
||
cd D:\work\code\python\coding\baodanagent
|
||
```
|
||
|
||
---
|
||
|
||
## 1. 启动 Docker Desktop
|
||
|
||
如果 Docker Desktop 没启动,先手动打开 Docker Desktop,或者用命令启动:
|
||
|
||
```powershell
|
||
Start-Process "C:\Program Files\Docker\Docker\Docker Desktop.exe"
|
||
```
|
||
|
||
等待 Docker 就绪:
|
||
|
||
```powershell
|
||
docker info
|
||
```
|
||
|
||
如果能正常输出 `Server` 信息,说明 Docker 已经启动成功。
|
||
|
||
---
|
||
|
||
## 2. 可选:清理本地误启动的开发进程
|
||
|
||
如果之前误用过本地 `python -m insurance.app` 或 `pnpm dev`,可能会占用 `5001`、`5173` 端口。
|
||
|
||
执行下面命令清理本地占用:
|
||
|
||
```powershell
|
||
$ports = 5001,5173
|
||
$ownerIds = Get-NetTCPConnection -LocalPort $ports -ErrorAction SilentlyContinue |
|
||
Where-Object { $_.State -eq 'Listen' } |
|
||
Select-Object -ExpandProperty OwningProcess -Unique
|
||
|
||
foreach ($ownerId in $ownerIds) {
|
||
if ($ownerId -and $ownerId -ne $PID) {
|
||
Stop-Process -Id $ownerId -Force -ErrorAction SilentlyContinue
|
||
Write-Output "Stopped local process $ownerId"
|
||
}
|
||
}
|
||
```
|
||
|
||
注意:Docker 部署实际不会用 `5173`,`5173` 是本地 Vite 开发端口。
|
||
|
||
---
|
||
|
||
## 3. 启动 BaoDan / Dify 全量后端服务
|
||
|
||
根目录执行:
|
||
|
||
```powershell
|
||
docker compose -f docker-compose.dify.yml up -d
|
||
```
|
||
|
||
这一步会启动:
|
||
|
||
- PostgreSQL
|
||
- Redis
|
||
- BaoDan API
|
||
- BaoDan Web 管理端
|
||
- Worker
|
||
- Plugin Daemon
|
||
- Sandbox
|
||
|
||
---
|
||
|
||
## 4. 启动保险自研前端
|
||
|
||
继续在根目录执行:
|
||
|
||
```powershell
|
||
docker compose -f docker-compose.frontend.yml up -d
|
||
```
|
||
|
||
这一步会启动保险自研 Vue 前端。
|
||
|
||
---
|
||
|
||
## 5. 如果只是重启,不重新构建
|
||
|
||
日常服务打不开时,优先使用:
|
||
|
||
```powershell
|
||
docker compose -f docker-compose.dify.yml restart
|
||
docker compose -f docker-compose.frontend.yml restart
|
||
```
|
||
|
||
---
|
||
|
||
## 6. 如果改了代码,需要重新构建并启动
|
||
|
||
如果改了后端、前端代码,建议用下面命令重建。
|
||
|
||
### 重建 BaoDan / Dify 服务
|
||
|
||
```powershell
|
||
docker compose -f docker-compose.dify.yml up -d --build
|
||
```
|
||
|
||
### 重建保险前端
|
||
|
||
```powershell
|
||
docker compose -f docker-compose.frontend.yml up -d --build
|
||
```
|
||
|
||
---
|
||
|
||
## 7. 查看容器状态
|
||
|
||
```powershell
|
||
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||
```
|
||
|
||
正常情况下应该能看到类似这些容器:
|
||
|
||
```text
|
||
baodanagent-baodanagent-web-1 Up ... 0.0.0.0:9080->8080/tcp
|
||
baodanagent-baodan-api-1 Up ... 0.0.0.0:5001->5001/tcp
|
||
baodanagent-baodan-web-1 Up ... 0.0.0.0:3000->3000/tcp
|
||
baodanagent-baodan-worker-1 Up ...
|
||
baodanagent-plugin_daemon-1 Up ... 0.0.0.0:5002-5003->5002-5003/tcp
|
||
baodanagent-db-1 Up ... 0.0.0.0:5433->5432/tcp
|
||
baodanagent-redis-1 Up ... 0.0.0.0:6380->6379/tcp
|
||
baodanagent-sandbox-1 Up ...
|
||
```
|
||
|
||
---
|
||
|
||
## 8. 当前固定访问地址
|
||
|
||
### 保险自研前端
|
||
|
||
浏览器打开:
|
||
|
||
```text
|
||
http://localhost:9080/
|
||
```
|
||
|
||
局域网访问:
|
||
|
||
```text
|
||
http://192.168.1.17:9080/
|
||
```
|
||
|
||
---
|
||
|
||
### BaoDan / Dify 管理后台
|
||
|
||
浏览器打开:
|
||
|
||
```text
|
||
http://localhost:3000/
|
||
```
|
||
|
||
或者:
|
||
|
||
```text
|
||
http://localhost:3000/apps
|
||
```
|
||
|
||
局域网访问:
|
||
|
||
```text
|
||
http://192.168.1.17:3000/
|
||
```
|
||
|
||
---
|
||
|
||
### 后端 API
|
||
|
||
```text
|
||
http://localhost:5001
|
||
```
|
||
|
||
局域网访问:
|
||
|
||
```text
|
||
http://192.168.1.17:5001
|
||
```
|
||
|
||
健康检查:
|
||
|
||
```text
|
||
http://localhost:5001/health
|
||
```
|
||
|
||
当前验证返回正常:
|
||
|
||
```json
|
||
{"pid":84,"status":"ok","version":"1.14.2"}
|
||
```
|
||
|
||
---
|
||
|
||
## 9. 关键接口验证命令
|
||
|
||
### 检查保险前端
|
||
|
||
```powershell
|
||
curl.exe -I --max-time 15 http://localhost:9080/
|
||
```
|
||
|
||
正常应返回:
|
||
|
||
```text
|
||
HTTP/1.0 200 OK
|
||
```
|
||
|
||
---
|
||
|
||
### 检查 BaoDan 管理后台
|
||
|
||
```powershell
|
||
curl.exe -I --max-time 15 http://localhost:3000/apps
|
||
```
|
||
|
||
正常应返回:
|
||
|
||
```text
|
||
HTTP/1.1 200 OK
|
||
```
|
||
|
||
---
|
||
|
||
### 检查后端健康状态
|
||
|
||
```powershell
|
||
curl.exe --max-time 15 http://localhost:5001/health
|
||
```
|
||
|
||
正常应返回:
|
||
|
||
```json
|
||
{"pid":84,"status":"ok","version":"1.14.2"}
|
||
```
|
||
|
||
---
|
||
|
||
### 检查保险智能体接口
|
||
|
||
```powershell
|
||
curl.exe --max-time 15 http://localhost:5001/insurance/agents/list
|
||
```
|
||
|
||
当前已经验证成功,返回了智能体列表,例如:
|
||
|
||
```json
|
||
{
|
||
"code": 0,
|
||
"data": [
|
||
{
|
||
"name": "保险智能客服",
|
||
"mode": "chat"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 10. 查看日志
|
||
|
||
### 查看 BaoDan API 日志
|
||
|
||
```powershell
|
||
docker logs -f baodanagent-baodan-api-1
|
||
```
|
||
|
||
### 查看保险前端日志
|
||
|
||
```powershell
|
||
docker logs -f baodanagent-baodanagent-web-1
|
||
```
|
||
|
||
### 查看 BaoDan 管理端日志
|
||
|
||
```powershell
|
||
docker logs -f baodanagent-baodan-web-1
|
||
```
|
||
|
||
### 查看 Worker 日志
|
||
|
||
```powershell
|
||
docker logs -f baodanagent-baodan-worker-1
|
||
```
|
||
|
||
### 查看数据库日志
|
||
|
||
```powershell
|
||
docker logs -f baodanagent-db-1
|
||
```
|
||
|
||
---
|
||
|
||
## 11. 停止服务
|
||
|
||
如果只是停止,不删除数据:
|
||
|
||
```powershell
|
||
docker compose -f docker-compose.frontend.yml down
|
||
docker compose -f docker-compose.dify.yml down
|
||
```
|
||
|
||
---
|
||
|
||
## 12. 不建议执行的命令
|
||
|
||
除非你明确知道后果,否则不要执行下面这种带 `-v` 的命令:
|
||
|
||
```powershell
|
||
docker compose -f docker-compose.dify.yml down -v
|
||
```
|
||
|
||
因为 `-v` 会删除数据库、Redis 等 Docker volume,可能导致数据丢失。
|
||
|
||
---
|
||
|
||
## 13. 最终推荐的一键启动顺序
|
||
|
||
以后最常用就是这一套:
|
||
|
||
```powershell
|
||
cd D:\work\code\python\coding\baodanagent
|
||
|
||
docker info
|
||
|
||
docker compose -f docker-compose.dify.yml up -d
|
||
|
||
docker compose -f docker-compose.frontend.yml up -d
|
||
|
||
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||
|
||
curl.exe --max-time 15 http://localhost:5001/health
|
||
|
||
curl.exe -I --max-time 15 http://localhost:9080/
|
||
|
||
curl.exe -I --max-time 15 http://localhost:3000/apps
|
||
```
|
||
|
||
---
|
||
|
||
## 14. 最终固定地址汇总
|
||
|
||
| 服务 | 地址 |
|
||
|---|---|
|
||
| 保险自研前端 | `http://localhost:9080/` |
|
||
| BaoDan / Dify 管理后台 | `http://localhost:3000/` |
|
||
| BaoDan / Dify Apps 页面 | `http://localhost:3000/apps` |
|
||
| 后端 API | `http://localhost:5001` |
|
||
| 后端健康检查 | `http://localhost:5001/health` |
|
||
| 智能体列表接口 | `http://localhost:5001/insurance/agents/list` |
|
||
| PostgreSQL | `localhost:5433` |
|
||
| Redis | `localhost:6380` |
|
||
| Plugin Daemon | `localhost:5002` |
|
||
| Plugin Remote Install | `localhost:5003` | |