rein0421 commited on
Commit
6bd43d6
·
verified ·
1 Parent(s): 398d633

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -9
Dockerfile CHANGED
@@ -1,18 +1,13 @@
1
  # ステップ1: ベースイメージ
2
- # 元のバージョンを尊重しつつ、より軽量なslimイメージを使用
3
  FROM python:3.10.9-slim
4
 
5
  # ステップ2: システム依存関係のインストール (rootユーザーで実行)
6
  # OpenCV, Playwright, curlに必要なライブラリをまとめてインストール
7
  RUN apt-get update && apt-get install -y --no-install-recommends \
8
- # OpenCV dependencies
9
  libgl1-mesa-glx \
10
  libglib2.0-0 \
11
- # Playwright dependencies
12
  libnss3 libnspr4 libdbus-1-3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libatspi2.0-0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libpango-1.0-0 libcairo2 libasound2 \
13
- # --- ここに新しい依存関係を追加しました ---
14
  libxkbcommon0 \
15
- # Other dependencies
16
  curl \
17
  && rm -rf /var/lib/apt/lists/*
18
 
@@ -20,22 +15,27 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
20
  WORKDIR /app
21
 
22
  # ステップ3: Python依存関係のインストール (キャッシュ効率化のため先に実行)
23
- # requirements.txtを先にコピーすることで、このレイヤーのキャッシュが効きやすくなります
24
  COPY requirements.txt .
25
  RUN pip install --no-cache-dir -r requirements.txt
26
 
 
 
 
 
 
27
  # ステップ4: Playwrightブラウザのインストール
28
- # 依存関係はステップ2でインストール済み
29
  RUN playwright install chromium
30
 
31
  # ステップ5: アプリケーションコードのコピー
32
  COPY . .
33
 
34
  # ステップ6: ユーザーの作成と権限設定
35
- # root権限が必要な処理を先に済ませてからユーザーを作成・切り替え
36
  RUN useradd -m appuser
37
- # /app ディレクトリ全体の所有権を appuser に変更 (saved_imagesも含まれる)
 
38
  RUN chown -R appuser:appuser /app
 
39
  # 非rootユーザーに切り替え
40
  USER appuser
41
 
 
1
  # ステップ1: ベースイメージ
 
2
  FROM python:3.10.9-slim
3
 
4
  # ステップ2: システム依存関係のインストール (rootユーザーで実行)
5
  # OpenCV, Playwright, curlに必要なライブラリをまとめてインストール
6
  RUN apt-get update && apt-get install -y --no-install-recommends \
 
7
  libgl1-mesa-glx \
8
  libglib2.0-0 \
 
9
  libnss3 libnspr4 libdbus-1-3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libatspi2.0-0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libpango-1.0-0 libcairo2 libasound2 \
 
10
  libxkbcommon0 \
 
11
  curl \
12
  && rm -rf /var/lib/apt/lists/*
13
 
 
15
  WORKDIR /app
16
 
17
  # ステップ3: Python依存関係のインストール (キャッシュ効率化のため先に実行)
 
18
  COPY requirements.txt .
19
  RUN pip install --no-cache-dir -r requirements.txt
20
 
21
+ # --- ここに新しい行を追加 ---
22
+ # Playwrightのブラウザが appuser のキャッシュディレクトリにインストールされるように環境変数を設定
23
+ # /home/appuser は後で作成されるため、ここでは /app/.cache を指定
24
+ ENV PLAYWRIGHT_BROWSERS_PATH="/app/.cache/ms-playwright"
25
+
26
  # ステップ4: Playwrightブラウザのインストール
27
+ # このステップは root ユーザーで実行される
28
  RUN playwright install chromium
29
 
30
  # ステップ5: アプリケーションコードのコピー
31
  COPY . .
32
 
33
  # ステップ6: ユーザーの作成と権限設定
 
34
  RUN useradd -m appuser
35
+ # /app ディレクトリ全体の所有権を appuser に変更
36
+ # これにより、/app/.cache も appuser がアクセスできるようになります
37
  RUN chown -R appuser:appuser /app
38
+
39
  # 非rootユーザーに切り替え
40
  USER appuser
41