x
This commit is contained in:
+44
-28
@@ -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)
|
||||
```
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ services:
|
||||
# --- WebUI 前端 ---
|
||||
gradio:
|
||||
image: mineru-rocm:7.2.1
|
||||
profiles: ["gradio"]
|
||||
container_name: mineru-gradio
|
||||
stdin_open: true
|
||||
tty: true
|
||||
|
||||
Reference in New Issue
Block a user