前回はPythonプログラムを実行するDockerイメージを作成し、コンテナ化する方法を紹介しました。
今回は同じようにPythonプログラムを実行するDockerイメージに対し、numpy等Pythonパッケージをインストールする方法を紹介します。
Pythonプログラムを実行するDockerイメージの作成方法については以下記事をご覧ください。
前提
今回はnumpyを使うPythonプログラムをコンテナ実行します。以下のような円周率を表示するプログラムを用意します。
import numpy as np
print(np.pi)
コンテナのPython環境はDockerfileにて指定します。
FROM python:3.9
WORKDIR /app
COPY . /app
CMD ["python", "numpy.py"]
Pythonパッケージのインストール
numpy等Pythonパッケージをコンテナにインストールするには、Dockerfileに記述します。From python:3.9の後ろに、以下のように書きます。
RUN pip install numpy
Dockerfile全体は以下のようになります。
FROM python:3.9
RUN pip install numpy
WORKDIR /app
COPY . /app
CMD ["python", "numpy.py"]
複数パッケージをインストールしたい場合
複数インストールしたい場合は、続けて記載するか、またはrequirements.txtを用意します。
FROM python:3.9
RUN pip install numpy
RUN pip install pandas
WORKDIR /app
COPY . /app
CMD ["python", "numpy.py"]
requirements.txtでインストールする場合は、Dockerfileと同じディレクトリにrequirements.txtを配置します。まずrequirements.txtをコンテナ環境にコピーします。
–no-cache-dirはインストール時にキャッシュを使用しないようにするオプションです。
FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app
CMD ["python", "numpy.py"]
まとめ
Pythonプログラムを実行するDockerイメージに対し、Pythonパッケージをインストールする方法を紹介しました。
多くのパッケージをインストールする場合にはrequirements.txt利用をお勧めします。
実用的なpythonプログラムは、ほぼ必ず何らかのパッケージのインストールが必要になると思います。今回の内容を活用していただけたら幸いです。
ではでは👋