fix: update port in dockerfile
This commit is contained in:
@@ -15,7 +15,7 @@ ENV PYTHONUNBUFFERED=1 \
|
|||||||
# Application config (override defaults for container)
|
# Application config (override defaults for container)
|
||||||
# Use 127.0.0.1 for --network host mode, or override with -e for bridge mode
|
# Use 127.0.0.1 for --network host mode, or override with -e for bridge mode
|
||||||
PP_DOCLAYOUT_MODEL_DIR=/root/.cache/modelscope/hub/models/PaddlePaddle/PP-DocLayoutV2 \
|
PP_DOCLAYOUT_MODEL_DIR=/root/.cache/modelscope/hub/models/PaddlePaddle/PP-DocLayoutV2 \
|
||||||
PADDLEOCR_VL_URL=http://127.0.0.1:8000/v1
|
PADDLEOCR_VL_URL=http://127.0.0.1:8001/v1
|
||||||
|
|
||||||
# Set working directory
|
# Set working directory
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|||||||
148
PORT_CONFIGURATION.md
Normal file
148
PORT_CONFIGURATION.md
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
# 端口配置检查总结
|
||||||
|
|
||||||
|
## 搜索命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 搜索所有 8000 端口引用
|
||||||
|
rg "(127\.0\.0\.1|localhost):8000"
|
||||||
|
|
||||||
|
# 或使用 grep
|
||||||
|
grep -r -n -E "(127\.0\.0\.1|localhost):8000" . \
|
||||||
|
--exclude-dir=.git \
|
||||||
|
--exclude-dir=__pycache__ \
|
||||||
|
--exclude-dir=.venv \
|
||||||
|
--exclude="*.pyc"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 当前端口配置 ✅
|
||||||
|
|
||||||
|
### PaddleOCR-VL 服务 (端口 8001)
|
||||||
|
|
||||||
|
**代码文件** - 全部正确 ✅:
|
||||||
|
- `app/core/config.py:25` → `http://127.0.0.1:8001/v1`
|
||||||
|
- `app/services/ocr_service.py:492` → `http://localhost:8001/v1`
|
||||||
|
- `app/core/dependencies.py:53` → `http://localhost:8001/v1` (fallback)
|
||||||
|
- `Dockerfile:18` → `http://127.0.0.1:8001/v1`
|
||||||
|
|
||||||
|
### Mineru API 服务 (端口 8000)
|
||||||
|
|
||||||
|
**代码文件** - 全部正确 ✅:
|
||||||
|
- `app/core/config.py:28` → `http://127.0.0.1:8000/file_parse`
|
||||||
|
- `app/services/ocr_service.py:489` → `http://127.0.0.1:8000/file_parse`
|
||||||
|
- `app/core/dependencies.py:52` → `http://127.0.0.1:8000/file_parse` (fallback)
|
||||||
|
|
||||||
|
### 文档和示例文件
|
||||||
|
|
||||||
|
以下文件包含示例命令,使用 `localhost:8000`,这些是文档用途,不影响实际运行:
|
||||||
|
- `docs/*.md` - 各种 curl 示例
|
||||||
|
- `README.md` - 配置示例 (使用 8080)
|
||||||
|
- `docker-compose.yml` - 使用 8080
|
||||||
|
- `openspec/changes/add-doc-processing-api/design.md` - 设计文档
|
||||||
|
|
||||||
|
## 验证服务端口
|
||||||
|
|
||||||
|
### 1. 检查 vLLM (PaddleOCR-VL)
|
||||||
|
```bash
|
||||||
|
# 应该在 8001
|
||||||
|
lsof -i:8001
|
||||||
|
|
||||||
|
# 验证模型
|
||||||
|
curl http://127.0.0.1:8001/v1/models
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 检查 Mineru API
|
||||||
|
```bash
|
||||||
|
# 应该在 8000
|
||||||
|
lsof -i:8000
|
||||||
|
|
||||||
|
# 验证健康状态
|
||||||
|
curl http://127.0.0.1:8000/health
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 检查你的 FastAPI 应用
|
||||||
|
```bash
|
||||||
|
# 应该在 8053
|
||||||
|
lsof -i:8053
|
||||||
|
|
||||||
|
# 验证健康状态
|
||||||
|
curl http://127.0.0.1:8053/health
|
||||||
|
```
|
||||||
|
|
||||||
|
## 修复历史
|
||||||
|
|
||||||
|
### 已修复的问题 ✅
|
||||||
|
|
||||||
|
1. **app/services/ocr_service.py:492**
|
||||||
|
- 从: `paddleocr_vl_url: str = "http://localhost:8000/v1"`
|
||||||
|
- 到: `paddleocr_vl_url: str = "http://localhost:8001/v1"`
|
||||||
|
|
||||||
|
2. **Dockerfile:18**
|
||||||
|
- 从: `PADDLEOCR_VL_URL=http://127.0.0.1:8000/v1`
|
||||||
|
- 到: `PADDLEOCR_VL_URL=http://127.0.0.1:8001/v1`
|
||||||
|
|
||||||
|
3. **app/core/config.py:25**
|
||||||
|
- 已经是正确的 8001
|
||||||
|
|
||||||
|
## 环境变量配置
|
||||||
|
|
||||||
|
如果需要自定义端口,可以设置环境变量:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# PaddleOCR-VL (默认 8001)
|
||||||
|
export PADDLEOCR_VL_URL=http://127.0.0.1:8001/v1
|
||||||
|
|
||||||
|
# Mineru API (默认 8000)
|
||||||
|
export MINER_OCR_API_URL=http://127.0.0.1:8000/file_parse
|
||||||
|
```
|
||||||
|
|
||||||
|
或在 `.env` 文件中:
|
||||||
|
```env
|
||||||
|
PADDLEOCR_VL_URL=http://127.0.0.1:8001/v1
|
||||||
|
MINER_OCR_API_URL=http://127.0.0.1:8000/file_parse
|
||||||
|
```
|
||||||
|
|
||||||
|
## Docker 部署注意事项
|
||||||
|
|
||||||
|
在 Docker 容器中,使用:
|
||||||
|
- `--network host`: 使用 `127.0.0.1`
|
||||||
|
- `--network bridge`: 使用 `host.docker.internal` 或容器名
|
||||||
|
|
||||||
|
示例:
|
||||||
|
```bash
|
||||||
|
docker run \
|
||||||
|
--network host \
|
||||||
|
-e PADDLEOCR_VL_URL=http://127.0.0.1:8001/v1 \
|
||||||
|
-e MINER_OCR_API_URL=http://127.0.0.1:8000/file_parse \
|
||||||
|
doc-processer
|
||||||
|
```
|
||||||
|
|
||||||
|
## 快速验证脚本
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
echo "检查端口配置..."
|
||||||
|
|
||||||
|
# 检查代码中的配置
|
||||||
|
echo -e "\n=== PaddleOCR-VL URLs (应该是 8001) ==="
|
||||||
|
rg "paddleocr_vl.*8\d{3}" app/
|
||||||
|
|
||||||
|
echo -e "\n=== Mineru API URLs (应该是 8000) ==="
|
||||||
|
rg "miner.*8\d{3}" app/
|
||||||
|
|
||||||
|
# 检查服务状态
|
||||||
|
echo -e "\n=== 检查运行中的服务 ==="
|
||||||
|
echo "Port 8000 (Mineru):"
|
||||||
|
lsof -i:8000 | grep LISTEN || echo " 未运行"
|
||||||
|
|
||||||
|
echo "Port 8001 (PaddleOCR-VL):"
|
||||||
|
lsof -i:8001 | grep LISTEN || echo " 未运行"
|
||||||
|
|
||||||
|
echo "Port 8053 (FastAPI):"
|
||||||
|
lsof -i:8053 | grep LISTEN || echo " 未运行"
|
||||||
|
```
|
||||||
|
|
||||||
|
保存为 `check_ports.sh`,然后运行:
|
||||||
|
```bash
|
||||||
|
chmod +x check_ports.sh
|
||||||
|
./check_ports.sh
|
||||||
|
```
|
||||||
@@ -489,7 +489,7 @@ class MineruOCRService(OCRServiceBase):
|
|||||||
api_url: str = "http://127.0.0.1:8000/file_parse",
|
api_url: str = "http://127.0.0.1:8000/file_parse",
|
||||||
image_processor: Optional[ImageProcessor] = None,
|
image_processor: Optional[ImageProcessor] = None,
|
||||||
converter: Optional[Converter] = None,
|
converter: Optional[Converter] = None,
|
||||||
paddleocr_vl_url: str = "http://localhost:8000/v1",
|
paddleocr_vl_url: str = "http://localhost:8001/v1",
|
||||||
):
|
):
|
||||||
"""Initialize Local API service.
|
"""Initialize Local API service.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user