0

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

RUN apt-get install -y poppler-utils

这是 dockerfile 的完整视图。

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 映像。这是我尝试重写上述 dockerfile 以使用 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"]

根据上面的dockerfile可以看到apt-get命令无法运行。可以理解,因为它不像我之前所做的那样来自 ubuntu 图像。我的问题是,如何poppler在 Lambda 基础映像中安装?

4

1 回答 1

1

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

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

RUN yum install -y poppler-utils
于 2022-01-24T11:17:33.120 回答