无法在 M1 macbook 上的 docker 容器内安装 Chromium

Sri*_*ury 21 linux chromium docker puppeteer apple-m1

我正在 M1 Macbook Pro 上运行 docker,这里我使用这个 docker 脚本

FROM node:current-buster
# Create and set user
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt-get update && apt install -y ./google-chrome-stable_current_amd64.deb
Run Code Online (Sandbox Code Playgroud)

这会引发错误 google-chrome-stable:amd64 : Depends: libasound2:amd64 (>= 1.0.16) but it is not installable

对于其他依赖项也是如此

我尝试过各种方法:

  1. 改变基础镜像
  2. 将安装步骤更改为
apt-get install -y wget gnupg ca-certificates procps libxss1 && 
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -      && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'&& 
apt-get update && 
apt-get install -y google-chrome-stable 
Run Code Online (Sandbox Code Playgroud)

(这会出现无法找到包的错误)

该脚本在 Linux 机器上运行,但对于 m1 mac 它不起作用。

我实际上想在 docker 中运行 puppeteer,我正在尝试安装 chrome,以防有另一种方法。

Sri*_*ury 20

docker buildx build --platform=linux/amd64
Run Code Online (Sandbox Code Playgroud)

这至少使我们能够构建图像。不确定在 M1 机器上运行它是否会产生相同的结果,但至少构建了镜像

编辑::

所以 chrome 没有手臂图像,这是这个问题的主要原因,在 ubuntu 18.04 基础上将其更改为 chromium 似乎工作正常

FROM ubuntu:18.04
RUN apt-get install -y chromium-browser
Run Code Online (Sandbox Code Playgroud)

  • 请注意,OP 在 Debian 上。很确定现在只是“chromium”,而不是“chromium-browser”。请参阅 https://packages.debian.org/search?keywords=chromium (2认同)