基于 Playwright 映像的 Docker 镜像在我的 Mac 上运行,但不在 Ubuntu 服务器上运行



当我在带有M1芯片的Mac上运行此映像时,一切都正常。但当我尝试用Ubuntu在服务器上运行时,容器会出现错误">exec/bin/sh:exec格式错误">

FROM mcr.microsoft.com/playwright:v1.18.1-arm64
RUN apt-get -y update && apt-get -y upgrade
ADD build/libs/program.jar /tmp
WORKDIR /tmp
RUN apt-get -y install openjdk-11-jre-headless && apt-get clean;
CMD java -jar program.jar

此错误显示在每个第一个命令RUN上。即使命令类似于";RUN ls-la";,我会得到"bin/sh-cls-la返回了一个非零代码:1">

我试图更改SHELL["bin/bash","-c"]和图像版本,但没有效果。

如果我使用";来自ubuntu";,命令可以工作,但我需要具有浏览器依赖关系的Playwright的图像。

您正在使用ARM架构构建映像(请使用docker inspect <your_image> | grep "Archi"进行检查(。此映像无法在其他体系结构上执行(可能是Ubuntu服务器的amd64(。

您应该:

  • 使用amd64基础图像(例如,mcr.microsoft.com/playwright:v1.18.1-arm64=>mcr.microsoft.com/playwright:v1.18.1-focal(
  • docker build --platform linux/amd64塑造你的形象

相关内容

最新更新