[英]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-dev
、 libx11-dev
和libglu1-mesa-de
。
上述 AWS 文檔中的信息指出:
在 ${LAMBDA_TASK_ROOT} 目錄下與 function 處理程序一起安裝任何依賴項,以確保 Lambda 運行時可以在調用 function 時找到它們。
如果這是 ubuntu 或 alpine 圖像,我可以使用apt-get
或apk add
安裝。 但是在這個基礎 AWS Lambda 節點圖像上都不可用,因為這不是 ubuntu 或高山圖像。
所以我的問題是,如何在此圖像上安裝libgl1-mesa-dev
、 libx11-dev
和libglu1-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.