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

在这里插入图片描述

完整部署流程


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

方式一:直接构建镜像
# 下载 Dockerfile
wget https://raw.githubusercontent.com/hiroi-sora/Umi-OCR_runtime_linux/main/Dockerfile# 构建镜像
docker build -t umi-ocr-paddle .

第二步:在 Windows 上测试运行

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

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

第三步:导出 Docker 镜像

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

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

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

# 使用 scp 传输到目标服务器
scp umi-ocr-paddle.tar.gz user@ubuntu-server-ip:/home/user/# 或者使用 U盘、移动硬盘等物理方式传输

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

导入镜像

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

# 导入压缩的镜像文件
docker load -i umi-ocr-paddle.tar.gz# 或者导入未压缩的
docker load -i umi-ocr-paddle.tar# 验证镜像导入成功
docker images
运行容器(端口 21224)

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

# 在 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 服务:

# 测试接口是否正常
curl -X POST http://localhost:21224/api/ocr \-H "Content-Type: application/json" \-d '{"base64": "your_base64_encoded_image"}'
持久化配置(可选)
# 挂载配置目录以持久化设置
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指令集:

# 检查 CPU 是否支持 AVX
cat /proc/cpuinfo | grep avx

防火墙配置

# Ubuntu Server 上开放 21224 端口
sudo ufw allow 
sudo ufw reload

自动启动配置

# 设置容器自动重启
docker update --restart=always umi-ocr-server

故障排除

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914016.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI Agent革命:当大模型学会使用工具、记忆与规划

以下是针对Lilian Weng的AI Agent综述文章(原文链接)的深度解析与整理: AI Agent革命:当大模型学会使用工具、记忆与规划 ——解析LLM驱动的下一代智能体技术架构 一、核心范式转变 传统AI模型(如ChatGPT&#xff09…

Claude Code:完爆 Cursor 的编程体验

前言 最近,听说Claude Code这款代码辅助编写产品很强,有人把Cursor比作实习生水平,Claude Code比作高级工程师水平。 起初不以为意,因为特殊原因,Claude 无法直接访问。然而,有人做了镜像站,可以…

ModbusTCP通讯

supply服务-ModbusTCP通讯: winForm-HZHControls-Sqllite本地小项目架构补充:

前端面试专栏-算法篇:23. 图结构与遍历算法

🔥 欢迎来到前端面试通关指南专栏!从js精讲到框架到实战,渐进系统化学习,坚持解锁新技能,祝你轻松拿下心仪offer。 前端面试通关指南专栏主页 前端面试专栏规划详情 图结构与遍历算法 在计算机科学中,图&a…

渗透测试之木马后门实验

一、实验背景 根据CNCERT的监测数据显示,2018年位于美国的1.4万余台木马或僵尸网络控制服务器,控制了中国境内334万余台主机;2018年位于美国的3325个IP地址向中国境内3607个网站植入木马,根据对控制中国境内主机数量及控制中国境内…

【LeetCode 热题 100】24. 两两交换链表中的节点——(解法一)迭代+哨兵

Problem: 24. 两两交换链表中的节点 题目:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 文章目录整体思路完整代码…

微积分核心考点全解析

一、微积分核心知识框架 1. 极限与连续(重点!) 核心概念: 极限定义(ε-δ语言)重要极限:lim⁡x→0sin⁡xx1limx→0​xsinx​1,lim⁡x→∞(11x)xelimx→∞​(1x1​)xe连续性判定&am…

TypeScript---泛型

一.简介TypeScript 就引入了“泛型”(generics)。泛型的特点就是带有“类型参数”(type parameter)。在日常 TypeScript 编程中,我们经常会遇到这样的场景:函数的参数类型与返回值类型密切相关。此时&#…

手把手一起使用Miniforge3+mamba平替Anaconda(Win10)

Anaconda 开始对企业收费,目前急需平替Anaconda。这里采用Minforgemamba作为替代,可以避免Anaconda追责,并100%兼容原conda仓库及使用方式,如果各位小伙伴有更好的平替方式,欢迎分享。 Miniforge3安装 下载并安装Min…

【Note】Linux Kernel 主题学习之“完整的嵌入式 Linux 环境、构建工具、编译工具链、CPU 架构”

Linux Kernel 主题学习之“完整的嵌入式 Linux 环境、构建工具、编译工具链、CPU 架构” 一、完整的嵌入式 Linux 环境 一个嵌入式 Linux 系统通常包括以下关键组件(以 Jetson、树莓派等 ARM 版 SBC 为例): 交叉编译工具链(cros…

Lecture #20:Database Logging

Lecture20目录:崩溃恢复缓冲池管理策略窃取策略强制策略NO-STEAL-FORCE影子分页执行恢复缺点日志文件预写日志(WAL)执行缓冲池策略日志方案检查点崩溃恢复 恢复算法是一种确保数据库ACID的技术,数据库崩溃后, 所有已经…

Kubernetes高级调度1

目录 一:初始化容器 Initcontainer 1:Initcontainer 的基本概念 2:示例 1--延迟指定时间后启动 3:示例 2--使用初始化容器修改内核参数 4:示例 3--等待依赖服务启动 4:pause容器 二:临时容器 Ephemeral Containers 1.临时容器的概念 2.临时容器的使用 三&a…

服务器机柜与网络机柜各自的优势

一、服务器机柜优势服务器机柜设计有强大的承重结构,能承受大量服务器设备堆叠产生的重量,保障设备安全稳定放置,防止因承重不足导致机柜变形甚至设备损坏,同时,服务器在运行的过程中,会产生大量热量&#…

AI技术通过提示词工程(Prompt Engineering)正在深度重塑职场生态和行业格局,这种变革不仅体现在效率提升,更在重构人机协作模式。

AI技术通过提示词工程(Prompt Engineering)正在深度重塑职场生态和行业格局,这种变革不仅体现在效率提升,更在重构人机协作模式。以下是关键影响维度及未来趋势分析:一、职场效率革命(效率提升300%场景&…

Hugging Face 开源机器人 Reachy Mini 开启预定

我们最新的开源机器人 Reachy Mini 正式亮相 🎉 这款富有表现力的开源机器人由 Pollen Robotics 与 Hugging Face 联合打造,专为人机交互、创意编程和 AI 实验而设计。它价格亲民,体积小巧,却蕴藏着无限可能。来自全球的各个年龄段…

vue3+node.js+mysql写接口(二)

目录 一、产品模块(products表) 1.1、添加产品(/adminapi/product/add) 1.2、产品列表(/adminapi/product/list) 1.3、编辑产品(/adminapi/product/update) 1.4、首页产品联动 二、前台模块 2.1、路由配置 2.2、NavBar组件 2.3、新闻搜索 2.4、新闻选项卡 2.5、新闻…

解析LLM层裁剪:Qwen实战指南

怎么实现对LLM 部分层裁剪输出结果 Qwen 7b 是28层MLP,28头 Qwen 14b 是48层MLP,40头,词向量维度:5120 模型加载部分 from transformers import AutoTokenizer, AutoModelForCausalLM

【AI大模型】深度学习正则化技术:Batch Normalization (BatchNorm) 详解

1. 为什么需要 BatchNorm? - 问题的根源:Internal Covariate Shift (ICS)问题描述: 深度神经网络在训练过程中,随着网络层数的加深,前面层参数的微小更新会导致后面层输入数据的分布发生显著变化。这种现象称为内部协变…

20.缓存问题与解决方案详解教程

文章目录1. 缓存基础概念1.1 什么是缓存1.2 缓存的作用1.3 常见的缓存类型1.4 缓存架构示例2. 缓存雪崩 (Cache Avalanche)2.1 什么是缓存雪崩2.2 缓存雪崩的原因2.3 缓存雪崩的危害2.4 缓存雪崩的解决方案方案1:设置随机过期时间方案2:缓存集群和主从复…

(满满的坑LLAMA3使用申请被拒绝rejected)利用huggingface导入LLAMA3模型

文章目录前言坑后续前言 大家都知道,使用huggingface导入大模型是使用如下办法 from transformers import AutoModelForCausalLM, AutoTokenizermodel_name "Qwen/Qwen2.5-7B-Instruct"#要导入的大模型名称。model AutoModelForCausalLM.from_pretrai…