Py学习  »  docker

如何在基本AWS Lambda节点中安装依赖项。js Dockerfile图像

shane • 3 年前 • 2011 次点击  

我正在使用Node编写AWS Lambda函数。通过容器映像部署的js。

我使用了基本节点。下面的链接提供了用于Lambda的js Dockerfile映像,用于配置我的映像。这很有效。我的映像已部署,Lambda函数正在运行。

https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-create-from-base

以下是Dockerfile:

FROM public.ecr.aws/lambda/nodejs:14

COPY index.js package.json cad/  ${LAMBDA_TASK_ROOT}

# Here I would like to install libgl1-mesa-dev, libx11-dev and libglu1-mesa-de

RUN npm install

CMD ["index.handler"]

但是,我现在需要在映像上安装其他依赖项。具体来说,我需要OpenGL使用PDFTron将CAD文件转换为PDF,根据 PDFTron documentation here .所以我要求 libgl1-mesa-dev , libx11-dev libglu1-mesa-de .

上述AWS文件中的信息说明:

在函数处理程序旁边的${LAMBDA_TASK_ROOT}目录下安装任何依赖项,以确保调用函数时LAMBDA运行时可以找到它们。

如果这是ubuntu或alpine映像,我可以使用 apt-get apk add .但这两种图像都不适用于此基础AWS Lambda节点图像,因为这不是ubuntu或alpine图像。

所以我的问题是,如何安装 libgl1梅萨开发公司 , libx11开发 libglu1梅萨德酒店 这样Lambda运行时就可以在调用函数时找到它们了?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133056
文章 [ 1 ]  |  最新文章 3 年前
Marcin
Reply   •   1 楼
Marcin    3 年前

我认为在亚马逊Linux 2(lambda正在使用它)上,ubuntu的等价物是:

FROM public.ecr.aws/lambda/nodejs:14

COPY index.js package.json cad/  ${LAMBDA_TASK_ROOT}

RUN yum install -y libgl1-mesa-devel libx11-devel  mesa-libGL-devel

RUN npm install

CMD ["index.handler"]