Aws Lambda ok,但在我的M1返回错误.(


FROM public.ecr.aws/lambda/python:3.8.2023.03.29.13-x86_64 as build
RUN yum install -y unzip && 
curl -Lo "/tmp/chromedriver.zip" "https://chromedriver.storage.googleapis.com/112.0.5615.28/chromedriver_linux64.zip" && 
curl -Lo "/tmp/chrome-linux.zip" "https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F1100514%2Fchrome-linux.zip?generation=1675363434858111&alt=media" &&  
unzip /tmp/chromedriver.zip -d /opt/ && 
unzip /tmp/chrome-linux.zip -d /opt/

#FROM public.ecr.aws/lambda/python:3.8.2023.03.28.15
FROM public.ecr.aws/lambda/python:3.8.2023.03.29.13-x86_64
RUN yum install atk cups-libs gtk3 libXcomposite alsa-lib 
libXcursor libXdamage libXext libXi libXrandr libXScrnSaver 
libXtst pango at-spi2-atk libXt xorg-x11-server-Xvfb 
xorg-x11-xauth dbus-glib dbus-glib-devel -y
RUN pip install --upgrade pip
RUN pip install requests
RUN pip install beautifulsoup4
# RUN pip install pymysql
RUN pip install selenium
COPY --from=build /opt/chrome-linux /opt/chrome
COPY --from=build /opt/chromedriver /opt/
COPY *.py ./
CMD [ "farmair_scraping.test_func" ]

我用cmd 构建了上面的代码[docker build——platform linux/x86_64]),

并将其推入ecr。它工作。好。

然后,我尝试用cmd

在我的M1上运行图像[docker run——platform linux/x86_64 -p 9000:8080 farmair_scraping]

[curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations"]- d '{"payload"hello world !"}")

但是我得到了一个错误信息

"消息:未知错误:Chrome failed to start: crash。n(未知错误:DevToolsActivePort文件不存在)n(从chrome位置/opt/chrome/chrome启动的进程不再运行,因此ChromeDriver假设chrome已经崩溃。

我想把我的M1摔成碎片…我总是跟docker过不去。

在您的FROM声明中,您明确标记x86_64图像偏好。本地使用arm64接口

相关内容

  • 没有找到相关文章

最新更新