首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让剧作家在码头容器上工作并将其部署到AWS Lambda

如何让剧作家在码头容器上工作并将其部署到AWS Lambda
EN

Stack Overflow用户
提问于 2022-05-18 16:39:23
回答 1查看 1K关注 0票数 0

我按照本教程将剧作家安装在一个码头容器上,然后尝试将其部署到AWS函数:https://tech.smartshopping.co.jp/lambda-container-playwright

在执行了所有步骤之后,我一直得到以下错误:

代码语言:javascript
复制
╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libasound.so.2                                   ║
╚══════════════════════════════════════════════════════╝

这是我的码头文件:

代码语言:javascript
复制
FROM public.ecr.aws/lambda/python:3.9-arm64

ENV  PLAYWRIGHT_BROWSERS_PATH=/var/task/bin

RUN yum -y update && yum -y install libXScrnSaver gtk2 gtk3 alsa-lib.x86_64

RUN mkdir /var/task/bin

COPY /app/main.py requirements.txt ./

RUN python3.9 -m pip install --upgrade pip &&  \
    python3.9 -m pip install -r requirements.txt && \
    python3.9 -m playwright install chromium

# Command can be overwritten by providing a different command in the template directly.
CMD ["main.lambda_handler"]

我尝试在第一个运行命令中安装缺少的库,更改如下:

代码语言:javascript
复制
RUN yum -y update && yum -y install libXScrnSaver gtk2 gtk3 alsa-lib.x86_64

至:

代码语言:javascript
复制
RUN yum -y update && yum -y install libXScrnSaver libasound.so.2 gtk2 gtk3 alsa-lib.x86_64

但这只会导致同样的错误。因此,我尝试在第三个RUN命令中安装lib,更改如下:

代码语言:javascript
复制
RUN python3.9 -m pip install --upgrade pip &&  \
    python3.9 -m pip install -r requirements.txt && \
    python3.9 -m playwright install chromium

至:

代码语言:javascript
复制
RUN python3.9 -m pip install --upgrade pip &&  \
    python3.9 -m pip install -r requirements.txt && \
    python3.9 -m playwright install chromium && \
    python3.9 -m pip install libasound.so.2

但这再次导致了同样的错误被产生。

如何安装缺少的库以修复错误?

编辑:

通过改变这一行来修正:

代码语言:javascript
复制
RUN yum -y update && yum -y install libXScrnSaver libxtst6 gtk2 gtk3 alsa-lib.x86_64

至:

代码语言:javascript
复制
RUN yum -y update && yum -y install libXScrnSaver libxtst6 gtk2 gtk3 alsa-lib.aarch64

但是现在得到了错误:

代码语言:javascript
复制
pid=68\n[pid=68][err] 
/var/task/bin/chromium-1005/chrome-linux/chrome: 
/lib64/libm.so.6: version `GLIBC_2.27' not found 
(required by /var/task/bin/chromium-1005/chrome-linux/chrome)\n

[pid=68][err] 
/var/task/bin/chromium-1005/chrome-linux/chrome: 
/lib64/libm.so.6: version `GLIBC_2.29' not found 
(required by /var/task/bin/chromium-1005/chrome-linux/chrome)
EN

回答 1

Stack Overflow用户

发布于 2022-05-18 17:07:29

你试过把它作为二进制包下载吗?

也许您可以查看一下这个libasound.so.2包页面,看看是否可以下载它。

wget https://vault.centos.org/centos/8/AppStream/aarch64/os/Packages/alsa-lib-1.2.5-4.el8.aarch64.rpm

当我在apt,ubuntu包工具中搜索时,我没有看到任何东西

代码语言:javascript
复制
root@21be95fca6e6:/# apt search libasound.so.2
Sorting... Done
Full Text Search... Done

例如,Vim包如下所示

代码语言:javascript
复制
root@21be95fca6e6:/# apt search vim           
Sorting... Done
Full Text Search... Done
apvlv/jammy 0.4.0-2 arm64
  PDF viewer with Vim-like behaviour
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72292983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档