# OCR Docker 服务部署手册(GPU版)
# 一、服务信息
- 服务名称: OCR 识别服务
- 服务功能:可识别图片、PDF扫描件,生成文字,常用于CoMi知识库上传扫描件后进行OCR识别解析成文字
- 镜像地址: cdhx78.seeyon.com:5356/library/seeyon/ocr:latest-gpu
- 基础镜像: nvidia/cuda:12.8.1-cudnn-runtime-ubuntu22.04
- 服务端口: 12841
- GPU 支持: 是(必需)
- 依赖CoMi版本: CoMi V2.0.2及以上
# 二、环境要求
# 硬件要求
- CPU: 4核+
- 内存: 32G+
- 磁盘: 500G+
- 显卡: NVIDIA RTX 4090 * 1
# 软件要求
- 操作系统: 只适配ubuntu22.04操作系统和X86 CPU架构
- Docker: 24.0.7+
- NVIDIA 驱动: 450.80.02+
- NVIDIA Container Toolkit: 1.0.0+
说明: 镜像已内置 CUDA 12.8.1 和 cuDNN 运行时,宿主机仅需安装 NVIDIA 驱动和 Container Toolkit。
# 三、环境检查与准备(客户)
需要客户完成如下环境准备:
# 3.1 检查Ubuntu版本和架构
OCR识别服务对CPU架构和操作系统版本要求严格,只适配ubuntu22.04操作系统和X86 CPU架构:
# 检查版本信息,确保输出为Ubuntu 22.04.xxx LTS
lsb_release -a
# 检查CPU架构,确保输出为X86_64
uname -a
# 3.2 检查 GPU 驱动
Ubuntu系统下使用 nvidia-smi 检查GPU驱动情况,如果命令返回 GPU 信息,说明驱动已安装,如未安装则需要用户自行安装 NVIDIA 驱动和 Container Toolkit。
NVIDIA驱动可以通过 Ubuntu官网文档 → how-to → graphics → [install-nvidia-drivers (opens new window)] 获取。以下为验证方法:
# 检查 NVIDIA 驱动是否已安装
nvidia-smi
# 3.3 检查Docker Engine(Ubuntu OS)
参考Docker官网手册 [Install Docker Engine on Ubuntu (opens new window)] 进行Docker的安装,确保最终Docker可用,以下为验证方法:
# 检查docker版本,确保Docker版本大于24.0.7
docker -v
# 3.4 检查Container Toolkit
Docker容器中如需使用GPU驱动,需要安装Container Toolkit,参考NVIDIA官方文档 [Installing the NVIDIA Container Toolkit (opens new window)] 。以下为验证方法:
# 检查包安装状态(输出版本号即为安装成功)
dpkg -l | grep nvidia-container-toolkit
# 官方最新验证命令(无任何额外依赖,仅需核心包),有输出nvidia-smi信息则说明安装成功
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi
# 四、部署步骤
# 4.1 创建目录和配置文件
# 创建目录
sudo mkdir -p /data/Seeyon/Comi/ocr/{config,logs}
# 创建配置文件
sudo tee /data/Seeyon/Comi/ocr/config/config.json > /dev/null <<'EOF'
{
"app_name": "ocr",
"port": 12841,
"workers": 1,
"log_level": "INFO",
"log_dir": "./logs",
"ocr_use_doc_orientation_classify": true,
"ocr_use_doc_unwarping": false,
"ocr_use_textline_orientation": true,
"compress_enabled": true,
"compress_max_width": 1500,
"compress_max_height": 1500,
"compress_quality": 90,
"compress_debug": false,
"ocr_enable_preprocessing": true,
"ocr_enable_white_margin_removal": true,
"ocr_force_gray": false,
"ocr_sharpen_strength": 0.5,
"ocr_jpeg_pixel_threshold": 3000000,
"ocr_jpeg_compress_min_pixels": 1500000,
"file_size_limit": 20971520,
"allowed_extensions": ["jpg", "jpeg", "png", "bmp", "tiff", "webp"],
"health_check_image": "resources/ocr_test.png",
"paddle_font_file": "resources/fonts/simfang.ttf"
}
EOF
# 4.2 启动容器
百度网盘中下载ocr镜像 链接: https://pan.baidu.com/s/19jIO87ldikfdLK41DWyeug?pwd=838s 提取码: 838s
# 存放ocr镜像
mkdir -p /data/ocr_image
mv ocr_gpu.tar.gz /data/ocr_image
cd /data/ocr_image
# 拉取镜像(文件很大,需要一定时间)
sudo docker load -i ocr_gpu.tar.gz
# 停止旧容器(如果存在)
sudo docker rm -f ocr 2>/dev/null || true
# 启动容器
sudo docker run -d \
--privileged \
--restart=always \
--gpus all \
--name ocr \
-p 12841:12841 \
-v /data/Seeyon/Comi/ocr/config/config.json:/app/config/config.json \
-v /data/Seeyon/Comi/ocr/logs:/app/logs \
cdhx78.seeyon.com:5356/library/seeyon/ocr:latest-gpu
# 4.3 验证部署
# 查看容器状态
sudo docker ps | grep ocr
# 查看日志
sudo docker logs ocr
# 检查 GPU 使用
sudo docker exec -it ocr nvidia-smi
# 测试服务是否正常
curl -X POST http://xx.xx.xx.xx:12841/ocr/pic/health
预期返回:
{
"code": "200",
"message": "Success",
"data": {
"text_content": [
"单位"
]
}
}

编撰人:het
快速跳转