ホームページ > バックエンド開発 > Python チュートリアル > Python アプリケーションの Dockerfile

Python アプリケーションの Dockerfile

Susan Sarandon
リリース: 2024-12-15 14:17:14
オリジナル
234 人が閲覧しました

Dockerfile for a Python application

Python アプリケーション用の簡単な Dockerfile を作成しましょう。この例では、app.py という名前の Python スクリプトと、アプリケーションの依存関係を含むrequirements.txt ファイルがあることを前提としています。

  1. ターミナルを開きます。
  2. Dockerfile を作成または編集するディレクトリに移動します。
  3. 「vi Dockerfile」と入力して Enter キーを押します。これにより、Dockerfile という名前の新しいファイルを含む vi エディターが開きます。
  4. i を押して挿入モードに入ります。これで、Dockerfile の内容の入力を開始できます。
  5. 編集が完了したら、Esc キーを押して挿入モードを終了します。
  6. 「:wq」と入力して Enter キーを押し、変更を保存し、vi を終了します。保存せずに終了する場合は、「:q!」と入力します。そしてEnterを押します。
# Use an official Python runtime as a parent image
FROM python:3.9-slim

# Set the working directory in the container
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY . /app

# Install any needed dependencies specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Make port 8080 available to the world outside this container
EXPOSE 8080

# Define environment variable
ENV NAME World

# Run app.py when the container launches
CMD ["python", "app.py"]
ログイン後にコピー

この Dockerfile 内:

  • バージョン 3.9 の公式 Python Docker イメージ (具体的には、より小さいスリム バリアント) を使用しています。
  • コンテナ内の作業ディレクトリを /app に設定します。
  • 現在のディレクトリ (app.py および要件.txt ファイルが存在する場所) を /app のコンテナにコピーします。
  • requirements.txt で指定された Python の依存関係をインストールします。
  • コンテナとの通信を可能にするためにポート 8080 を公開します。
  • 環境変数 NAME を「World」に設定します (これは必要に応じて変更できます)。
  • 最後に、コンテナの起動時に実行するコマンドが python app.py であることを指定します。

この Dockerfile を使用してイメージをビルドするには、Dockerfile を含むディレクトリに移動して、次のコマンドを実行します。

docker build -t my-python-app .
ログイン後にコピー

my-python-app を Docker イメージの目的の名前に置き換えます。

イメージを構築した後、次のコマンドを使用してイメージからコンテナを実行できます。

docker run -p 8080:8080 my-python-app
ログイン後にコピー

このコマンドは、Docker イメージに基づいてコンテナを実行し、コンテナのポート 8080 をホスト マシンのポート 8080 に転送します。アプリケーションの要件に基づいて、必要に応じてポート マッピングを調整します。

以上がPython アプリケーションの Dockerfileの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート