This commit is contained in:
2026-06-11 18:10:02 +08:00
parent efeca5f2af
commit 4bbeb5673e
3 changed files with 94 additions and 54 deletions
+30 -22
View File
@@ -191,39 +191,39 @@ docker compose build
## 4. 运行容器
### 4.1 启动 WebUI / API 服务
### 4.1 启动 WebUI 服务(默认推荐)
当前 `docker-compose.yml` 默认会启动:
当前 `docker-compose.yml` 默认只启动一个 GPU 直连的 `gradio` WebUI 服务,避免单卡机器因为 `worker1` 或可选 Router 退出导致整组服务不可用:
| 服务 | 宿主机端口 | 容器内端口 | 用途 |
|------|------------|------------|------|
| `gradio` | `10002` | `7860` | WebUI 前端 |
| `router` | `8000` | `8000` | API 路由 |
| `worker0` | 未暴露 | `8001` | GPU Worker |
| `worker1` | 未暴露 | `8002` | GPU Worker |
| `gradio` | `10002` | `7860` | WebUI 前端 + 本地推理 |
```bash
docker compose up -d
# 查看容器是否都已启动
docker compose ps
docker compose ps -a
# WebUI 健康检查:应返回 HTML 或 HTTP 状态,而不是 Connection refused
curl -v http://localhost:10002/
# API router 端口
curl -v http://localhost:8000/
```
浏览器打开:`http://<宿主机IP>:10002`。
如果 `docker compose ps` 为空或显示 `Exited`,说明服务进程启动后退出,请先看日志:
```bash
docker compose logs --tail=200 gradio
```
> 注意:直接 `docker run mineru-rocm:7.2.1` 使用的是 Dockerfile 默认 `CMD ["bash"]`,只会进入/运行 shell,不会启动 WebUI/API,也就不会监听 `10002`。如需直接 `docker run` 暴露 WebUI,必须显式传入 `mineru-gradio` 命令并映射端口。
### 4.2 交互模式(调试 / 手动处理)
```bash
# docker compose(复用 worker0 的 GPU/卷配置,覆盖 command 进入 bash)
docker compose run --rm worker0 bash
# docker compose(复用 gradio 的 GPU/卷配置,覆盖 command 进入 bash)
docker compose run --rm gradio bash
# 或 docker run
docker run -it --rm \
@@ -251,7 +251,7 @@ mineru -p /data/input/example.pdf -o /data/output -b hybrid-auto-engine
### 4.3 CLI 模式(一键处理)
```bash
docker compose run --rm worker0 \
docker compose run --rm gradio \
mineru -p /data/input/example.pdf -o /data/output -b hybrid-auto-engine
```
@@ -260,16 +260,24 @@ docker compose run --rm worker0 \
command: mineru -p /data/input/example.pdf -o /data/output -b hybrid-auto-engine
```
### 4.4 WebUI / API 模式
### 4.4 可选:Router API 多 Worker 模式
无需修改 Compose,直接启动即可:
如果确实需要独立 API Router,可启用 `router-api` profile。默认只启用 `worker0`,避免单卡机器启动 `worker1` 失败:
```bash
docker compose up -d
docker compose --profile router-api up -d
curl -v http://localhost:8000/
```
- WebUI:`http://<宿主机IP>:10002`
- API Router:`http://<宿主机IP>:8000`
双卡时再启用 `dual-gpu` profile,并在 `.env` 中设置:
```env
ROUTER_API_URLS=http://mineru-worker0:8001,http://mineru-worker1:8002
```
```bash
docker compose --profile router-api --profile dual-gpu up -d
```
API 用法参考 [MinerU 官方文档](https://github.com/opendatalab/MinerU)。
@@ -278,7 +286,7 @@ API 用法参考 [MinerU 官方文档](https://github.com/opendatalab/MinerU)。
设置环境变量即可切换下载源:
```bash
docker compose run --rm -e MINERU_MODEL_SOURCE=modelscope worker0 \
docker compose run --rm -e MINERU_MODEL_SOURCE=modelscope gradio \
mineru -p /data/input/example.pdf -o /data/output -b hybrid-auto-engine
```
@@ -292,7 +300,7 @@ docker compose run --rm -e MINERU_MODEL_SOURCE=modelscope worker0 \
```bash
# 进入容器
docker compose run --rm worker0 bash
docker compose run --rm gradio bash
# 运行预热
python /opt/scripts/cache_warmer.py --device cuda --max_side 960 --step 32
@@ -310,7 +318,7 @@ python /opt/scripts/cache_warmer.py --device cuda --max_side 960 --step 32
## 6. 验证
```bash
docker compose run --rm worker0 python -c "
docker compose run --rm gradio python -c "
import torch
from vllm.platforms import current_platform
@@ -438,7 +446,7 @@ RUN rm -rf /opt/vllm_build /opt/vllm/.git /opt/aiter/.git /opt/flash-attention/.
### 升级 MinerU
```bash
docker compose run --rm worker0 pip install --upgrade 'mineru[core]'
docker compose run --rm gradio pip install --upgrade 'mineru[core]'
# 然后重新应用 RDNA 补丁(参考 Dockerfile 阶段 9)
```