概要
過去に alpine で venv を作成し pip install する方法を紹介しました
今回は python スクリプトを実行する方法を紹介します
環境
- Ubuntu 22.04
- docker 25.0.2
- lego 4.16.1
dockerfile
docker ファイル内では boto3 をインストールします
このイメージ内で boto3 を import できるようにします
FROM goacme/lego:v4.16.1
RUN apk update
RUN apk add --no-cache --virtual .build-deps python3-dev python3 py3-pip
RUN python3 -m venv ~/test_venv --system-site-packages
RUN ~/test_venv/bin/pip3 install --upgrade pip setuptools
RUN ~/test_venv/bin/pip3 install boto3
python スクリプト
boto3 を import することをテストするスクリプトです
これを先程ビルドしたイメージ内で実行します
import boto3
print("Succeed to import boto3")
起動
ポイントは python3 の実行コマンドのパスです
作成した venv 内にある python3 を使うのがポイントです
また lego の場合ホームディレクトリは /root になっているのでそこに配置していますがスクリプトの配置先はどこでも OK です
-
docker run --rm --entrypoint "" -v $(pwd)/test.py:/root/test.py test /root/test_venv/bin/python3 /root/test.py
最後に
alpine の最新版で python スクリプトを実行する方法を紹介しました
ポイントは venv にインストールした python3 を使う点です
0 件のコメント:
コメントを投稿