This commit is contained in:
2026-06-11 18:01:12 +08:00
parent 18898057e6
commit efeca5f2af
2 changed files with 44 additions and 29 deletions
+44 -28
View File
@@ -10,7 +10,7 @@
| 方案 | 适用场景 |
|------|---------|
| **裸机部署**([MinerU本地部署教程.md](MinerU本地部署教程.md)) | 单机开发、追求极致性能 |
| **裸机部署**([MinerU本地部署教程.md](../MinerU本地部署教程.md)) | 单机开发、追求极致性能 |
| **Docker 部署**(本文) | 团队共享、CI/CD、环境隔离、快速迁移 |
Docker 方案的优势:
@@ -191,11 +191,39 @@ docker compose build
## 4. 运行容器
### 4.1 交互模式(调试 / 手动处理)
### 4.1 启动 WebUI / API 服务
当前 `docker-compose.yml` 默认会启动:
| 服务 | 宿主机端口 | 容器内端口 | 用途 |
|------|------------|------------|------|
| `gradio` | `10002` | `7860` | WebUI 前端 |
| `router` | `8000` | `8000` | API 路由 |
| `worker0` | 未暴露 | `8001` | GPU Worker |
| `worker1` | 未暴露 | `8002` | GPU Worker |
```bash
# docker compose
docker compose run --rm mineru
docker compose up -d
# 查看容器是否都已启动
docker compose ps
# WebUI 健康检查:应返回 HTML 或 HTTP 状态,而不是 Connection refused
curl -v http://localhost:10002/
# API router 端口
curl -v http://localhost:8000/
```
浏览器打开:`http://<宿主机IP>:10002`。
> 注意:直接 `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 run
docker run -it --rm \
@@ -220,10 +248,10 @@ python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_
mineru -p /data/input/example.pdf -o /data/output -b hybrid-auto-engine
```
### 4.2 CLI 模式(一键处理)
### 4.3 CLI 模式(一键处理)
```bash
docker compose run --rm mineru \
docker compose run --rm worker0 \
mineru -p /data/input/example.pdf -o /data/output -b hybrid-auto-engine
```
@@ -232,28 +260,16 @@ docker compose run --rm mineru \
command: mineru -p /data/input/example.pdf -o /data/output -b hybrid-auto-engine
```
### 4.3 WebUI 模式
### 4.4 WebUI / API 模式
修改 `docker-compose.yml`:
```yaml
command: mineru-gradio --server-name 0.0.0.0 --server-port 7860
ports:
- "7860:7860"
```
无需修改 Compose,直接启动即可:
```bash
docker compose up -d
# 浏览器打开 http://<宿主机IP>:7860
```
### 4.4 API 模式
```yaml
command: mineru-api --host 0.0.0.0 --port 8000
ports:
- "8000:8000"
```
- WebUI:`http://<宿主机IP>:10002`
- API Router:`http://<宿主机IP>:8000`
API 用法参考 [MinerU 官方文档](https://github.com/opendatalab/MinerU)。
@@ -262,7 +278,7 @@ API 用法参考 [MinerU 官方文档](https://github.com/opendatalab/MinerU)。
设置环境变量即可切换下载源:
```bash
docker compose run --rm -e MINERU_MODEL_SOURCE=modelscope mineru \
docker compose run --rm -e MINERU_MODEL_SOURCE=modelscope worker0 \
mineru -p /data/input/example.pdf -o /data/output -b hybrid-auto-engine
```
@@ -276,10 +292,10 @@ docker compose run --rm -e MINERU_MODEL_SOURCE=modelscope mineru \
```bash
# 进入容器
docker compose run --rm mineru
docker compose run --rm worker0 bash
# 运行预热
python /opt/cache_warmer.py --device cuda --max_side 960 --step 32
python /opt/scripts/cache_warmer.py --device cuda --max_side 960 --step 32
```
| 输入尺寸 | 冷启动耗时 | 预热后 |
@@ -294,7 +310,7 @@ python /opt/cache_warmer.py --device cuda --max_side 960 --step 32
## 6. 验证
```bash
docker compose run --rm mineru python -c "
docker compose run --rm worker0 python -c "
import torch
from vllm.platforms import current_platform
@@ -390,7 +406,7 @@ ls /dev/kfd /dev/dri/render*
切换下载源:`MINERU_MODEL_SOURCE=modelscope`。或设置代理:
```bash
docker compose run --rm -e http_proxy=http://host:port -e https_proxy=http://host:port mineru
docker compose run --rm -e http_proxy=http://host:port -e https_proxy=http://host:port worker0 bash
```
**Q: WebUI/API 端口无法访问**
@@ -422,7 +438,7 @@ RUN rm -rf /opt/vllm_build /opt/vllm/.git /opt/aiter/.git /opt/flash-attention/.
### 升级 MinerU
```bash
docker compose run --rm mineru pip install --upgrade 'mineru[core]'
docker compose run --rm worker0 pip install --upgrade 'mineru[core]'
# 然后重新应用 RDNA 补丁(参考 Dockerfile 阶段 9)
```
-1
View File
@@ -7,7 +7,6 @@ services:
# --- WebUI 前端 ---
gradio:
image: mineru-rocm:7.2.1
profiles: ["gradio"]
container_name: mineru-gradio
stdin_open: true
tty: true