内容仅供参考学习
欢迎朋友们V一起交流: zcxl7_7
环境
1. CentOS7
2. docker
3. PaddleOCR2.5.2
1.准备
1. 首先准备好需要打包的项目
2. 在该项目中创建Dockerfile文件
touch Dockerfile
2. 编写Dockerfile
# 从Python 3.8的官方镜像中创建(python镜像有多种,可自行查询,此处使用的alpine版本体积小)
# FROM python:3.8-alpine
FROM registry.baidubce.com/paddlepaddle/paddle:2.5.2
# 容器工作空间路径
WORKDIR /data/project/
COPY . /data/project/
# 复制使用requirements文件至容器工作空间
COPY ./requirements.txt /
# 更新pip,安装项目所使用的库,
RUN rm -f /etc/localtime
RUN ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
# RUN apk add libffi-dev libfreetype6-dev libjpeg-dev
RUN pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install --upgrade astroid==2.11.7 -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
CMD python3 main.py
3. 说明
1. paddleocr镜像地址是在paddlerocer官方文档那边给的
2. 将astroid更新为2.11.7版本是因为paddleocr2.5.2镜像里面版本对不上会报错
4. 打包镜像
docker build -t ocr_new:v1 .
# -t: 后面带镜像的名字和标签
#.: 表示当前目录
5. 启动容器
docker run -p 8010:8010 --name ocr_test -it -v /home/ocr/file/:/home/ocr/file/ ocr_new:v1
# -p:指映射端口
# --name: 指给容器命名
# -it: 生成一个伪输入终端,可以当作固定写法,比较有用
# -v: 将容器额目录映射到本机