Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)

前置博客:Ubuntu-Server 22.04.4 详细安装图文教程

wget命令在windows终端下不能使用的原因及解决办法

在 Ubuntu 22.04 LTS 上离线安装 Docker

手把手教你在Win11下安装docker

Umi-OCR

安装docker时报错:workstation服务启动报错。错误1075:依存服务不存在, 或已标记为删除的解决方法

完整部署流程


第一步:在 Windows 上构建/获取 Umi-OCR Docker 镜像

方式一:直接构建镜像
bash 复制代码
# 下载 Dockerfile
wget https://raw.githubusercontent.com/hiroi-sora/Umi-OCR_runtime_linux/main/Dockerfile

# 构建镜像
docker build -t umi-ocr-paddle .

第二步:在 Windows 上测试运行

测试无头模式(HEADLESS 模式),适合在没有显示器的云服务器使用:

bash 复制代码
# 无头模式运行,提供 HTTP 接口服务
docker run -d --name umi-ocr-test \
  -e HEADLESS=true \
  -p 1224:1224 \
  umi-ocr-paddle

第三步:导出 Docker 镜像

使用 docker save 命令将镜像保存为 tar 文件,这样可以保留镜像的所有历史层和元数据:

bash 复制代码
# 导出镜像为 tar 文件
docker save -o umi-ocr-paddle.tar umi-ocr-paddle

# 或者压缩导出以减小文件大小
docker save umi-ocr-paddle | gzip > umi-ocr-paddle.tar.gz

第四步:将镜像文件传输到 Ubuntu Server

bash 复制代码
# 使用 scp 传输到目标服务器
scp umi-ocr-paddle.tar.gz user@ubuntu-server-ip:/home/user/

# 或者使用 U盘、移动硬盘等物理方式传输

第五步:在 Ubuntu Server 22.04 上导入和运行

导入镜像

使用 docker load 命令从 tar 文件恢复镜像:

bash 复制代码
# 导入压缩的镜像文件
docker load -i umi-ocr-paddle.tar.gz

# 或者导入未压缩的
docker load -i umi-ocr-paddle.tar

# 验证镜像导入成功
docker images
运行容器(端口 21224)

配置为无头模式并映射到指定端口:

bash 复制代码
# 在 21224 端口运行 Umi-OCR
docker run -d --name umi-ocr-server \
  -e HEADLESS=true \
  -p 21224:1224 \
  umi-ocr-paddle

# 检查容器运行状态
docker ps

# 暂停
docker stop umi-ocr-test

第六步:配置和测试

测试 HTTP 接口

可以通过 HTTP 接口访问 OCR 服务:

bash 复制代码
# 测试接口是否正常
curl -X POST http://localhost:21224/api/ocr \
  -H "Content-Type: application/json" \
  -d '{"base64": "your_base64_encoded_image"}'
持久化配置(可选)
bash 复制代码
# 挂载配置目录以持久化设置
docker run -d --name umi-ocr-server \
  -e HEADLESS=true \
  -p 21224:1224 \
  -v /opt/umi-ocr-data:/app/UmiOCR-data \
  umi-ocr-paddle

重要注意事项

CPU 兼容性检查

部署前,请检查主机的CPU是否具有AVX指令集:

bash 复制代码
# 检查 CPU 是否支持 AVX
cat /proc/cpuinfo | grep avx

防火墙配置

bash 复制代码
# Ubuntu Server 上开放 21224 端口
sudo ufw allow 
sudo ufw reload

自动启动配置

bash 复制代码
# 设置容器自动重启
docker update --restart=always umi-ocr-server

故障排除

  1. 如果容器启动失败:检查 CPU 是否支持 AVX 指令集
  2. 端口访问问题:确认防火墙设置和端口映射
  3. 内存不足:可以选择 Rapid 版本,内存占用更低,适合低配机器

这样就完成了从 Windows 到离线 Ubuntu Server 的完整迁移部署,Umi-OCR 将在 21224 端口提供 HTTP OCR 服务。

相关推荐
大白的编程日记.12 小时前
【Linux学习笔记】线程安全问题之单例模式和死锁
linux·笔记·学习
---学无止境---12 小时前
Linux 2.6.10 调度器负载均衡机制深度解析:从理论到实现
linux
馨谙12 小时前
Linux 安全文件传输完全指南:sftp 与 scp 的深度解析引言
linux·运维·服务器
姓蔡小朋友12 小时前
Linux网络操作
linux·运维·服务器
linmengmeng_131413 小时前
【Centos】服务器硬盘扩容之新加硬盘扩容到现有路径下
linux·服务器·centos
边疆.13 小时前
【Linux】版本控制器Git和调试器—gdb/cgdb的使用
linux·服务器·git·gdb调试·cgdb
IT古董13 小时前
【第七章:时间序列模型】2.时间序列统计模型与神经网络模型-(2)适用广泛的时间序列模型:Arima模型
人工智能·深度学习·神经网络
陌路2013 小时前
Linux22 进程与线程以及内核级线程
linux·开发语言
明天…ling13 小时前
Linux+Apache+MySQL+PHP 架构下搭建 Discuz 社区论坛
linux·服务器·apache
Ghost Face...13 小时前
GRUB配置文件解析与启动流程详解
linux·运维·服务器