You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft ASP.NET Core 6 Linux Docker容器中运行.NET Tesseract 5.2?

在ASP.NET Core 6 Linux Docker容器中快速运行Tesseract 5的简便方法

我需要在基于mcr.microsoft.com/dotnet/aspnet:6.0的Docker容器中运行.NET Tesseract 5.2,但初始化引擎时遇到错误:

Failed to find library "libleptonica-1.82.0.so" for platform x64

尝试过现有方案但存在版本不匹配、编译繁琐、依赖报错等问题,这里提供两种简便的解决方式:

方法一:通过第三方软件源安装最新版Tesseract 5

mcr.microsoft.com/dotnet/aspnet:6.0基于Debian 11(bullseye),可以添加第三方源直接安装适配版本的库,无需编译:

  1. 在Dockerfile中添加以下步骤:
FROM mcr.microsoft.com/dotnet/aspnet:6.0

# 添加Tesseract第三方源并安装证书工具
RUN apt-get update && apt-get install -y --no-install-recommends \
    apt-transport-https \
    ca-certificates \
    gnupg2 \
    && echo "deb https://notesalexp.org/tesseract-ocr5/bullseye/ bullseye main" >> /etc/apt/sources.list.d/tesseract.list \
    && wget -O - https://notesalexp.org/debian/alexp_key.asc | apt-key add -

# 安装Tesseract 5与对应Leptonica库
RUN apt-get update && apt-get install -y --no-install-recommends \
    libtesseract5 \
    libleptonica-dev \
    && rm -rf /var/lib/apt/lists/*

# 设置语言包路径环境变量(按需配置)
ENV TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata

# 复制应用发布文件
COPY --from=build /app/publish .

ENTRYPOINT ["dotnet", "YourApp.dll"]

该源提供的库版本完全匹配.NET Tesseract 5.2的依赖要求,无需手动编译。

方法二:多阶段构建复制预编译库

若不想添加第三方源,可借助官方Tesseract 5镜像复制预编译库到ASP.NET Core容器:

# 第一阶段:获取Tesseract 5预编译库
FROM tesseractshadow/tesseract4re:5.0.1 as tesseract

# 第二阶段:构建ASP.NET Core应用容器
FROM mcr.microsoft.com/dotnet/aspnet:6.0

# 复制Tesseract与Leptonica库文件
COPY --from=tesseract /usr/lib/x86_64-linux-gnu/libleptonica*.so* /usr/lib/x86_64-linux-gnu/
COPY --from=tesseract /usr/lib/x86_64-linux-gnu/libtesseract*.so* /usr/lib/x86_64-linux-gnu/
# 复制默认语言包(按需取舍)
COPY --from=tesseract /usr/share/tesseract-ocr/5/tessdata/ /usr/share/tesseract-ocr/5/tessdata/

# 设置语言包路径环境变量
ENV TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata

# 复制应用发布文件
COPY --from=build /app/publish .

ENTRYPOINT ["dotnet", "YourApp.dll"]

解决liblibdl错误的补充步骤

若出现liblibdl: cannot open shared object file: No such file or directory错误,是符号链接缺失导致,添加以下命令创建链接即可:

RUN ln -s /lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/libdl.so

内容的提问来源于stack exchange,提问作者elshev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:34:51