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
英文地址,請注明出處:http://en.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…