我正在尝试在 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 基础映像中安装?