Poetry を使って,イメージをコンパクトに作成する方法を紹介します.
やり方
poetry install
の前に poetry config virtualenvs.create false
を実行し,あとはpip
と同様の手順でOK.
poetry config virtualenvs.create false
とすることで,pip
と同様にモジュールがグローバルにインストールされるので,それを利用します.
具体的には次のようにします.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
FROM python:3.11.4-bookworm as build RUN apt-get update && apt-get install --assume-yes \ gcc \ curl \ python3 \ python3-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* WORKDIR /path/to/workdir RUN curl -sSL https://install.python-poetry.org | python3 - ENV PATH="/root/.local/bin:$PATH" COPY pyproject.toml . RUN poetry config virtualenvs.create false \ && poetry install \ && rm -rf ~/.cache FROM python:3.11.4-slim-bookworm as prod ENV TZ=Asia/Tokyo COPY --from=build /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages WORKDIR /path/to/workdir COPY . . CMD ["./path/to/script.py"] |
冒頭,apt
で gcc
をインストールしていますが, RPi.GPIO 等のコンパイルが必要なライブラリをインストールしなければ不要です.
コメント