docker pull registry.baidubce.com/paddlepaddle/paddle:2.6.0
nano /root/projects/paddleocr_server.py
========================
from flask import Flask, request
from werkzeug.utils import secure_filename
import uuid
from paddleocr import PaddleOCR, draw_ocr
import json
import os
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
@app.post('/ocr')
def file_upload():
f = request.files['file']
uuid1 = str(uuid.uuid1())
path =uuid1+f.filename
f.save(path)
ocr = PaddleOCR(use_angle_cls=True, lang='ch') # need to run only once to download and load model into memory
result = ocr.ocr(path, cls=True)
content=[]
for idx in range(len(result)):
res = result[idx]
for line in res:
content.append(line)
print(content)
os.remove(path)
strs=json.dumps(content)
print(strs)
return strs
if __name__ == '__main__':
app.run(host='0.0.0.0', port=9000)
========================
docker run -d \
--restart unless-stopped \
-p 9000:9000 \
-v ~/paddleocr_models:/models \
-v /root/projects:/app \
--name paddleocr2 \
registry.baidubce.com/paddlepaddle/paddle:2.6.0 \
bash -c "
pip install paddleocr==2.6 flask numpy==1.23.5 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn && \
python /app/paddleocr_server.py
"
#进入容器
docker ps
docker stop 25868aa09443
docker rm 25868aa09443
docker logs 25868aa09443
docker exec -it 32def6957389 /bin/bash
# 检查Python路径
which python
# 检查已安装包
pip list | grep paddle
安装 PaddleOCR(容器内操作)
apt-get update && apt-get install -y libssl1.1
#验证安装
python -c "import paddleocr; print(paddleocr.__version__)"
运行效果:docker部属paddleocr (有用,可以收藏)
PostMan请求:
curl --location --request POST 'http://8.134.76.206:9000/ocr' \
--form 'file=@"/C:/Users/xx/Downloads/Snipaste_2025-06-28_19-22-27.png"'