ドッカーでPythonプロジェクトをデプロイする
DockerへのPythonプロジェクトのデプロイは次の手順に従って実行できます:
- プロジェクトのルートディレクトリにDockerfileという名前のファイルを作成します。DockerfileはDockerイメージのビルド方法を記述するテキストファイルです。
- Dockerfileを作成する:Dockerfileでイメージの構築コマンドを書くのです。次がサンプルのDockerfileです。
# 指定镜像基础
FROM python:3.8
# 设置工作目录
WORKDIR /app
# 复制项目文件到工作目录
COPY . /app
# 安装项目依赖
RUN pip install -r requirements.txt
# 暴露端口
EXPOSE 5000
# 启动应用
CMD ["python", "app.py"]
上記の Dockerfile 内の命令は以下のとおりです。
- python:3.8 より:Python 3.8 をベースイメージとして指定します。
- WORKDIR /app: 作業ディレクトリを /app に設定する。
- . /appにCOPY:現在のディレクトリ内のすべてのファイルを/appディレクトリにコピーします。
- pip install -r requirements.txtを実行:プロジェクトに必要な依存関係をインストールします。
- EXPOSE 5000:アプリケーションへのアクセスに使用するコンテナの5000ポートを公開します。
- CMD [“python”, “app.py”]:コンテナの起動画時に実行するコマンド。ここではapp.pyの実行を指定しています。
- イメージをビルドする:コマンドラインでDockerfileのあるディレクトリに進み、次のコマンドを実行します(Dockerfileがプロジェクトのルートディレクトリにあると想定しています)
docker build -t my-python-app .
ここで、my-python-appはイメージの名前であり、.はDockerfileのあるディレクトリを表しています。
- コンテナを実行する: コンテナを実行するには、以下のコマンドをコマンドラインで実行します。
docker run -d -p 5000:5000 my-python-app
my-python-appはイメージ名、-dはコンテナをバックグラウンドで実行することを意味し、-p 5000:5000はコンテナの5000番ポートをホストの5000番ポートにマッピングすることを意味します。
今、あなたのPythonプロジェクトはDockerにデプロイされました。http://localhost:5000にアクセスすることでアプリケーションにアクセスできます。