如何在Azure部署含Tesseract 5.3.1的Flask应用?求Dockerfile方案
解决方案:Docker中安装Tesseract 5.3.1的配置方案
以下是适配你的Flask应用的Dockerfile配置,可确保安装指定的Tesseract 5.3.1版本,替代系统默认的4.1.1:
# 使用Python官方轻量镜像作为基础 FROM python:3.10-slim # 安装添加第三方仓库所需的系统依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ wget \ gnupg \ lsb-release \ && rm -rf /var/lib/apt/lists/* # 添加UB-Mannheim维护的Tesseract 5.x专属仓库 RUN wget -qO- https://notesalexp.org/debian/alexp_key.asc | apt-key add - \ && echo "deb https://notesalexp.org/tesseract-ocr5/$(lsb_release -cs)/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/tesseract-ocr5.list # 更新缓存并安装指定版本的Tesseract 5.3.1(按需追加语言包,比如简体中文:tesseract-ocr-chi-sim) RUN apt-get update && apt-get install -y --no-install-recommends \ tesseract-ocr=5.3.1-2~notesalexp1 \ && rm -rf /var/lib/apt/lists/* # 设置工作目录 WORKDIR /app # 安装Python依赖 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 复制Flask应用代码 COPY . . # 设置应用启动命令(根据实际情况调整,如使用gunicorn则替换为对应命令) CMD ["python", "app.py"]
关键说明
- 选用
python:3.10-slim作为基础镜像,平衡镜像体积与运行环境兼容性; - 通过UB-Mannheim的专属仓库直接获取Tesseract 5.3.1,与你开发环境使用的版本一致;
- 指定具体版本号安装,避免后续仓库更新导致版本自动变更;
- 安装后清理APT缓存,有效减小最终镜像体积;
- 若需识别特定语言,可在安装命令后追加对应语言包(如
tesseract-ocr-chi-sim用于简体中文识别)。
版本验证方法
可在Dockerfile中临时添加以下命令,构建镜像时确认安装版本:
RUN tesseract --version
成功构建后会输出类似内容,确认版本为5.3.1:
tesseract 5.3.1 leptonica-1.82.0 libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 2.1.2) : libpng 1.6.37 : libtiff 4.3.0 : zlib 1.2.11 : libwebp 1.2.2 : libopenjp2 2.4.0 Found AVX2 Found AVX Found FMA Found SSE4.1 Found OpenMP 201511 Found libarchive 3.6.0 zlib/1.2.11 liblzma/5.2.5 bz2lib/1.0.8 liblz4/1.9.3 libzstd/1.5.2 Found libcurl/7.74.0 OpenSSL/1.1.1n zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.43.0 librtmp/2.3
内容的提问来源于stack exchange,提问作者sayantan ghosh
相关产品推荐
相关产品推荐

