簡體   English   中英

如何在基礎 AWS Lambda Node.js Dockerfile 圖像中安裝依賴項

[英]How to install dependencies in base AWS Lambda Node.js Dockerfile image

我正在使用通過容器映像部署的 Node.js 編寫 AWS Lambda function。

我已經使用下面鏈接提供的 Node.js Dockerfile 圖像來配置我的圖像。 這很好用。 我的映像已部署,我的 Lambda function 正在運行。

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"]

但是,我現在需要在圖像上安裝額外的依賴項。 具體來說,根據此處的 PDFTron 文檔,我需要 OpenGL 才能使用 PDFTron 將 CAD 文件轉換為 PDF。 所以我需要libgl1-mesa-devlibx11-devlibglu1-mesa-de

上述 AWS 文檔中的信息指出:

在 ${LAMBDA_TASK_ROOT} 目錄下與 function 處理程序一起安裝任何依賴項,以確保 Lambda 運行時可以在調用 function 時找到它們。

如果這是 ubuntu 或 alpine 圖像,我可以使用apt-getapk add安裝。 但是在這個基礎 AWS Lambda 節點圖像上都不可用,因為這不是 ubuntu 或高山圖像。

所以我的問題是,如何在此圖像上安裝libgl1-mesa-devlibx11-devlibglu1-mesa-de ,以便 Lambda 運行時可以在調用 function 時找到它們?

我認為 ubuntu 在 Amazon Linux 2 上的等效項(lambda 正在使用它)將是:

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"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM