前置博客:Ubuntu-Server 22.04.4 詳細安裝圖文教程
wget命令在windows終端下不能使用的原因及解決辦法
在 Ubuntu 22.04 LTS 上離線安裝 Docker
手把手教你在Win11下安裝docker
Umi-OCR
安裝docker時報錯:workstation服務啟動報錯。錯誤1075:依存服務不存在, 或已標記為刪除的解決方法
完整部署流程
第一步:在 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
故障排除
- 如果容器啟動失敗:檢查 CPU 是否支持 AVX 指令集
- 端口訪問問題:確認防火墻設置和端口映射
- 內存不足:可以選擇 Rapid 版本,內存占用更低,適合低配機器
這樣就完成了從 Windows 到離線 Ubuntu Server 的完整遷移部署,Umi-OCR 將在 21224 端口提供 HTTP OCR 服務。