DockerでPythonプロジェクトをパッケージ化の方法
Pythonプロジェクトのパッケージングのために、コンテナ化された環境を作成するためにDockerを使用できます。
Pythonプロジェクトをパッケージ化するための手順を以下に示します。
- Dockerfileを作成する: プロジェクトのルートディレクトリ内にDockerfileという名前のファイルを作成します。DockerfileはDockerイメージを構築する手順を含んだテキストファイルです。
- Dockerfileでベースイメージを定義する:あなたのプロジェクトに適したPythonのベースイメージを選択する(例:python:3.8-slim-buster)。Dockerfileの最初の行に次のディレクティブを追加します。
- python:3.8-slim-busterから
- 既存のファイルをイメージにコピー:Dockerfileに以下のコマンドを追加して、既存のファイルをイメージにコピーします。
- COPY . /app にネイティブ
- 作業ディレクトリの設定:Dockerfile に次のコマンドを追加して、作業ディレクトリをプロジェクトルートに設定する
- 作業ディレクトリを /app に設定
- 依存関係のインストール:次の指令を Dockerfile に追加して、プロジェクトの依存関係ライブラリをインストールします。
- pip install –no-cache-dir -r requirements.txt実行中
- プロジェクト内にrequirements.txtという名前の、プロジェクトに必要なライブラリの依存関係が記載されているファイルがあれば、Dockerはそれらの依存関係を自動的にインストールします。
- 公開ポート(必要に応じて):もしPythonプロジェクトが実行時にポートを listen する必要がある場合、Dockerfile に次のディレクティブを追加してそのポートを外部に公開することができます。
- を公開する
- をあなたのプロジェクトに必要なポート番号に置き換えてください。
- プロジェクトを実行する: Dockerfile に以下のコマンドを追加して、コンテナが起動したときに実行されるコマンドを指定します。
- CMD [ “python”, “app.py” ]
- あなたのプロジェクトの入り口ファイルをapp.pyに置き換えてください。
これらの手順を実行すると、Dockerを使用してPythonプロジェクトを構築して実行できるようになります。プロジェクトのルートディレクトリで次のコマンドを実行します:
docker build -t my-python-app .
Dockerfileを利用して my-python-app という名前のイメージを作成します。
Pythonプロジェクトを実行するには以下のコマンドを使用できます。
docker run -d -p 5000:5000 my-python-app
これにより、バックグラウンドでmy-python-appイメージが実行され、コンテナの5000ポートがホストマシンの5000ポートにマッピングされます。
Pythonプロジェクトは現在Dockerイメージにパッケージ化されており、Dockerをサポートする環境ならどこでも動作させることが可能です。