【发布时间】:2020-12-03 10:41:06
【问题描述】:
我正在尝试从 Dockerfile 将 tesseract-ocr 安装到 docker。当我构建 Dockerfile 时,一切看起来都很正常,我没有收到任何错误,但是当我运行容器时,没有安装 tesseract。
如果我使用 sudo docker exec -t -i <container_id> /bin/bash 访问容器并使用 apt-get install -y tesseract-ocr-all 手动安装 tesseract,它会安装并完美运行。为什么我在构建过程中尝试安装它时它不起作用?
我的 Dockerfile 如下所示:
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y tesseract-ocr-all
RUN tesseract --version
FROM python:3.7
WORKDIR ocr
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt
COPY . .
谢谢!
【问题讨论】:
-
为什么这个 Dockerfile 中有另一个
FROM python:3.7?我想这会改变基础图像,因此您之前的操作将不起作用 -
首先,您有 2 个
FROM,如果没有COPY之前的FROM命令,这将无法工作。如果你想使用当前的结构,那么你正在寻找多阶段构建。如果没有,使用 Python 基础镜像也可以通过RUN apt-get -y install tesseract-ocr安装tesseract-ocr
标签: docker ubuntu-20.04