Docker Compose を使用してマルチコンテナー PHP アプリケーションをパッケージ化してデプロイするにはどうすればよいですか?

王林
リリース: 2023-07-31 12:10:02
オリジナル
1323 人が閲覧しました

Docker Compose を使用してマルチコンテナ PHP アプリケーションをパッケージ化してデプロイするにはどうすればよいですか?

ネットワーク アプリケーションの開発に伴い、複雑なマルチコンテナ アプリケーションを構築および展開することがますます一般的になりました。 Docker は、アプリケーションを迅速に構築してデプロイするのに役立つ人気のあるコンテナ化プラットフォームです。 Docker Compose は、複数コンテナーの Docker アプリケーションを定義して実行するためのツールです。

この記事では、Docker Compose を使用して、複数のコンテナーで構成される単純な PHP アプリケーションをパッケージ化してデプロイする方法を紹介します。

まず、アプリケーションのコンテナを定義する docker-compose.yaml ファイルを作成する必要があります。以下は基本的な例です。

version: '3'
services:
  webserver:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"
    depends_on:
      - database
    volumes:
      - ./src:/var/www/html
  database:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=mydatabase
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
ログイン後にコピー

上記のファイルは、Web サーバーとデータベースという 2 つのサービスを定義します。 Web サーバーは PHP アプリケーション コンテナーであり、Dockerfile ベースのイメージを構築し、アプリケーションのソース コードをコンテナーの /var/www/html ディレクトリにマウントします。これにより、ローカル ポート 80 がコンテナのポート 80 にマップされ、localhost にアクセスしてアプリケーションにアクセスできるようになります。 Web サーバーは、データベース サービスに依存することも指定します。

データベース サービスは、公式の mysql:5.7 イメージを使用し、いくつかの環境変数を設定して MySQL データベースの設定を構成します。

docker-compose.yaml ファイルを準備したら、次のコマンドを使用してアプリケーションを起動できます:

docker-compose up -d
ログイン後にコピー

上記のコマンドはすべてのコンテナを作成して起動します。 -d パラメーターを指定すると、Docker Compose がバックグラウンドで実行されます。

アプリケーションが開始されたら、次のコマンドを使用してコンテナのステータスを表示できます:

docker-compose ps
ログイン後にコピー

このコマンドは、実行中のすべてのコンテナとそのステータスを表示します。

アプリケーション コードまたは構成を更新する必要がある場合は、ローカル ソース コード ファイルを変更するだけで済みます。ソースコードをコンテナにマウントしたため、ローカルファイルへの変更はリアルタイムでコンテナに反映されます。

アプリケーションを停止する場合は、次のコマンドを使用できます:

docker-compose down
ログイン後にコピー

このコマンドは、すべてのコンテナを停止して削除します。

Docker Compose は、基本的な構成に加えて、コンテナー ネットワークの接続、環境変数の設定、拡張など、他の多くの機能も提供します。

要約すると、Docker Compose を使用して複数コンテナーの PHP アプリケーションをパッケージ化してデプロイするのは、高速かつ強力な方法です。 docker-compose.yaml ファイルを定義することで、複雑なアプリケーションを簡単に構築、デプロイ、拡張できます。この記事がお役に立てば幸いです!

以上がDocker Compose を使用してマルチコンテナー PHP アプリケーションをパッケージ化してデプロイするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!