在 Lambda 的 AWS 基础 python 映像中安装 poppler

Install poppler in AWS base python image for Lambda

我正在尝试在 AWS Lambda 上部署我的 docker 容器。但是,我在依赖于 poppler 的代码中使用 pdf2image 包。要安装 poppler,我需要在 Dockerfile 中插入以下行。

RUN apt-get install -y poppler-utils

这是 docker 文件的完整视图。

FROM ubuntu:18.04

RUN apt-get update
RUN apt-get install -y poppler-utils

RUN apt-get install python3 -y
RUN apt-get install python3-pip -y
RUN pip3 install --upgrade pip

WORKDIR /

COPY app.py .
COPY requirements.txt  .

RUN  pip3 install -r requirements.txt

ENTRYPOINT [ "python3", "app.py" ]

但是,要在 Lambda 上部署,我需要为 Lambda 使用 AWS 基础 python 映像。这是我重写上述 docker 文件以使用 Lambda 基础映像的尝试。

FROM public.ecr.aws/lambda/python:3.6

# Cannot run the follow lines: apt-get: command not found

# RUN apt-get update
# RUN apt-get install -y poppler-utils

COPY app.py .
COPY requirements.txt  .

RUN pip install -r requirements.txt

CMD ["app.handler"]

根据上面的docker文件可以看出apt-get命令不能运行。可以理解,因为它不像我之前那样来自 ubuntu 图片。我的问题是,如何在 Lambda 基础映像中安装 poppler

它使用 yum 包管理器,因此您可以改为执行以下操作:

FROM public.ecr.aws/lambda/python:3.6

RUN yum install -y poppler-utils