【Docker】コンテナにPythonパッケージをインストールする

前回はPythonプログラムを実行するDockerイメージを作成し、コンテナ化する方法を紹介しました。

今回は同じようにPythonプログラムを実行するDockerイメージに対し、numpy等Pythonパッケージをインストールする方法を紹介します。

Pythonプログラムを実行するDockerイメージの作成方法については以下記事をご覧ください。

https://www.learning-nao.com/?p=4190

前提

今回は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プログラムは、ほぼ必ず何らかのパッケージのインストールが必要になると思います。今回の内容を活用していただけたら幸いです。

ではでは👋