環境
M3 mac book pro
やりたかったこと
discord.pyで作成したスクレイピングを実行するbotをデプロイしやすくするためにdockerで動かしたかった
作成したDockerfile
# ベースイメージとしてPython 3.9を使用
FROM python:3.9-slim
# 作業ディレクトリを設定
WORKDIR /app
# 必要なファイルをコンテナにコピー
COPY requirements.txt ./
# 依存関係をインストール
RUN pip install --no-cache-dir -r requirements.txt
# Playwrightをインストール
RUN playwright install
エラー内容
Host system is missing dependencies to run browsers.
Missing libraries:
libglib-2.0.so.0
libgobject-2.0.so.0
libnss3.so
libnssutil3.so
libsmime3.so
libnspr4.so
libdbus-1.so.3
libatk-1.0.so.0
libatk-bridge-2.0.so.0
libcups.so.2
libgio-2.0.so.0
libexpat.so.1
libdrm.so.2
libxcb.so.1
libxkbcommon.so.0
libX11.so.6
libXcomposite.so.1
libXdamage.so.1
libXext.so.6
libXfixes.so.3
libXrandr.so.2
libgbm.so.1
libpango-1.0.so.0
libcairo.so.2
libasound.so.2
libatspi.so.0
なんか足りてないって言ってる
解決策
# ベースイメージとしてPython 3.9を使用
FROM python:3.9-slim
# 作業ディレクトリを設定
WORKDIR /app
# 必要なファイルをコンテナにコピー
COPY requirements.txt ./
# 依存関係をインストール
RUN pip install --no-cache-dir -r requirements.txt
# Playwrightをインストール
+ RUN playwright install
+ RUN playwright install-deps
これ追加するだけでよかった
両方インストールしないとダメみたい
おまけ
Apple SiliconのMac使ってるならx86の命令セットが実行できないのが原因かも