ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

DockerでPythonアプリケーションをデプロイする方法

編集済み 4 数週間前 によって ExtremeHow 編集チーム

パイソンドッカーデプロイメントコンテナウィンドウズマックリナックスデブオプス仮想化アプリケーションクラウドセットアップ

DockerでPythonアプリケーションをデプロイする方法

翻訳が更新されました 4 数週間前

ソフトウェア開発の世界では、Pythonアプリケーションのデプロイは複雑で困難なプロセスになることがよくあります。幸いにも、Dockerはコンテナベースの仮想化を使用してアプリケーションを開発、配布、実行する方法を革新しました。このガイドでは、Dockerを使用してPythonアプリケーションをデプロイする方法について詳細に説明します。ステップを簡単に説明し、サンプルコードを提供し、この概念を完全に理解するのに役立てます。Dockerを初めて使用する方や、理解を深めたい方に最適です。最後までフォローすれば、Dockerを使用してPythonアプリケーションをデプロイするための堅実な基礎を築くことができます。

Dockerの理解

Dockerは、軽量でポータブルなコンテナ内でアプリケーションのデプロイを自動化するためのオープンソースプラットフォームです。これらのコンテナは、個人のコンピュータ、クラウドサーバー、またはDockerをサポートする他の環境で実行することができます。Dockerを使用してPythonアプリケーションをデプロイする主な利点は、一貫性です。アプリケーションとその依存関係を単一のユニットにパッケージ化することで、「私のマシンでは動作する」という問題を排除し、どこでも同じように動作することを保証します。

Dockerのコンポーネント

アプリケーションをデプロイする前に、Dockerの主要なコンポーネントを理解しましょう:

  1. Dockerfile: これは、イメージを組み立てるためのすべてのコマンドを含むテキストファイルです。Dockerの設計図のようなもので、アプリケーションをスムーズに実行するために必要なすべての手順を詳細に記載しています。
  2. イメージ: これは、アプリケーションとその依存関係を含む移動可能で不変なファイルです。Dockerfileの出力であり、コンテナを構築するためのすべての情報を含んでいます。
  3. コンテナ: イメージのランタイムインスタンスです。コンテナにはアプリケーションを実行するために必要なすべてのものが含まれています:コード、ランタイム、システムツール、ライブラリ。
  4. DockerHub: Dockerイメージを共有するためのクラウドベースのレジストリサービスです。コンテナイメージを保存して配布することができます。DockerイメージのためのGitHubのようなものだと考えてください。

Dockerのセットアップ

PythonアプリケーションをデプロイするためにDockerを使用するには、まずマシンにDockerをセットアップする必要があります。一般的な手順は以下の通りです:

docker --version

出力にはインストールされたDockerのバージョンが表示され、Dockerが正常にセットアップされていることを示します。

シンプルなPythonアプリケーションの構築

Dockerを使用してデプロイするシンプルなPythonアプリケーションを作成するプロセスを見てみましょう。私たちのアプリケーションは「Hello, World!」を出力するシンプルなPythonスクリプトです。簡単ですが、デプロイメントプロセスを理解するために役立ちます。

プロジェクト用の新しいディレクトリを作成し、その中にapp.pyという名前のファイルを作成します:

print("Hello, World!")

ファイルを保存します:このスクリプトapp.pyは単にコンソールに「Hello, World!」を出力します。

Dockerfileの作成

次に、Pythonスクリプトと同じディレクトリにDockerfileを作成する必要があります。このDockerfileには、Pythonアプリケーションをコンテナ化するためにDockerが必要とするすべての指示が含まれています。

  1. プロジェクトディレクトリに新しいファイルを作成し、Dockerfileと名付けます(拡張子不要)。
  2. 次の内容をDockerfileにコピーします:
FROM python:3.8-slim
# Set the working directory
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Run app.py when the container launches
CMD ["python", "app.py"]

このDockerfileを分解しましょう:

Dockerイメージのビルド

Dockerfileができたので、Dockerイメージを作成する時が来ました。このイメージはアプリケーションを実行するために必要なすべてのものを含む実行可能なパッケージです。

ターミナルまたはコマンドプロンプトを開き、プロジェクトのディレクトリに移動し、次のコマンドを使用してDockerイメージをビルドします:

docker build -t hello-world-app .

このコマンドの内容:

ビルドプロセスが完了すると、Dockerは「hello-world-app」という名前のイメージを作成します。

Dockerコンテナの実行

イメージが準備できたら、Pythonアプリケーションをコンテナ内で実行できます。ターミナルまたはコマンドプロンプトで次のコマンドを実行します:

docker run hello-world-app

このコマンドはDockerに「hello-world-app」イメージに基づいてコンテナを実行するように指示します。すべてが正しく設定されていれば、次の出力が表示されるはずです:

Hello, World!

このシンプルなメッセージは、PythonアプリケーションがDockerコンテナ内で正常に実行されたことを確認します。

Dockerイメージの共有と公開

Dockerの強みの一部は、異なる環境間でシームレスに共有できることです。他の人とDockerイメージを共有したり、クラウドプラットフォームでデプロイしたりすることができます。DockerHubは、イメージを保存し共有するためのパブリッククラウドサービスです。

  1. DockerHubのアカウントを持っていることを確認してください。DockerHubのウェブサイトにアクセスしてサインアップし、無料でアカウントを作成できます。

  2. ターミナルからDockerHubアカウントにログインします:

    docker login

    DockerHubのユーザー名とパスワードを入力するように求められます。

  3. DockerHubにプッシュするためにイメージにタグを付けます。DockerHubはイメージにユーザー名を追加する必要があります。次のコマンドを使用してイメージにタグを付け、[username]をDockerHubのユーザー名で置き換えてください:

    docker tag hello-world-app [username]/hello-world-app
  4. タグ付けされたイメージをDockerHubにプッシュします:

    docker push [username]/hello-world-app

    これにより、イメージがDockerHubにアップロードされ、他のユーザーが構築したり、異なるプラットフォームでデプロイしたりできるようになります。

クリーンアップ

Dockerの探索やPythonアプリケーションのデプロイをした後、イメージやコンテナなどの不要なDockerリソースをクリーンアップすることは、スペースを節約するための良い習慣です。基本的なコマンドは次の通りです:

docker container prune
docker image prune
docker ps -a
docker rm container_id
docker rmi image_id

container_idimage_idを特定の値に置き換えてください。

結論

おめでとうございます!これでDockerを使用してPythonアプリケーションをデプロイする方法を学びました。Dockerイメージとコンテナがどのように機能するかを理解することで、ソフトウェア開発者にとって素晴らしいツールセットを提供します。この知識を持っていれば、アプリケーションがスケーラブルで管理可能で、どの環境でも一貫して動作することを確保できます。Dockerの機能を探り続け、コンテナ化を楽しんでください!

記事の内容に誤りがある場合, あなたは


コメント