LoginSignup
4
4

More than 1 year has passed since last update.

M1 MacでPlaywrightをDockerで動かす

Last updated at Posted at 2021-05-08

Apple Silicon Macでクローラーを作った時に、DockerでPlaywrightが動かせなくてハマったので、解決策を共有しようと思います。

結論

Node.jsで動かすときはこれです。Pythonを使いたいときは読み替えればできると思います。

Dockerfile
FROM ubuntu:bionic

# Install node16
RUN apt-get update && apt-get install -y curl && \
    curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
    apt-get install -y nodejs

# Install chromium
RUN apt update && apt install -y chromium-browser

# ...
index.js
import { chromium } from "playwright";

chromium
  .launch({
    executablePath: "/usr/bin/chromium-browser",
  })
  .then((browser) => { /* Code Here */ })

何が起こったか

Playwrightは公式でDockerイメージを公開しています。
Docker | Playwright
playwright/Dockerfile.bionic at master · microsoft/playwright
このイメージをM1 Macで動かそうとしたら、アーキテクチャが違うと怒られました。

アーキテクチャの違いを吸収するために、--platform linux/amd64を指定して起動しても、実行時にメモリ関連のエラーが発生してしまいました。

結局、arm64ネイティブで動くイメージが必要になったので、公式イメージのDockerfileを参考に作成しました。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4