ホームページ >バックエンド開発 >PHPチュートリアル >Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのコンテナー スケーリング
タイトル: Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのコンテナ拡張機能の実装
コンテナ テクノロジの発展に伴い、ますます多くの開発者が Docker を使用し始めています。アプリケーション環境を構築および管理します。この記事では、PHP アプリケーションを例として、Docker Compose、Nginx、MariaDB を使用してコンテナー化された環境を拡張する方法を説明します。
Docker Compose は、複数のコンテナの組み合わせを定義および管理するために Docker によって公式に提供されているツールです。 Nginx は高性能 HTTP サーバーおよびリバース プロキシ サーバーであり、MariaDB はオープンソースのリレーショナル データベース管理システムです。
まず、必要なコンテナを定義および構成するために、docker-compose.yml というファイルを作成する必要があります。このファイルでは、web、db、phpmyadmin の 3 つのサービスを使用します。
version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./app:/var/www/html - ./config/nginx:/etc/nginx/conf.d depends_on: - php networks: - app-network db: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_DATABASE=app_database - MYSQL_USER=app_user - MYSQL_PASSWORD=password volumes: - ./data:/var/lib/mysql networks: - app-network phpmyadmin: image: phpmyadmin/phpmyadmin:latest links: - db:db ports: - "8080:80" environment: - PMA_HOST=db - MYSQL_ROOT_PASSWORD=password networks: - app-network networks: app-network: driver: bridge
このファイルでは、3 つのサービスを定義します。 Web サービスは Nginx ミラーリングを使用し、ホストのポート 80 をコンテナーのポート 80 にマップします。ボリュームでは、ホスト上の ./app ディレクトリをコンテナの /var/www/html ディレクトリにマッピングし (ホスト上のアプリケーション コードは ./app ディレクトリに配置されます)、ボリューム上の ./config/nginx ディレクトリをマッピングすることを指定します。 host コンテナの /etc/nginx/conf.d ディレクトリにマップします (Nginx の構成に使用されます)。 depend_on は、Web サービスが php サービスの起動に依存することを指定します。 network は、これら 3 つのサービスを同じネットワークに接続するために、app-network というネットワークを定義します。
db サービスは MariaDB ミラーを使用し、環境を通じて root パスワード、データベース名、ユーザーとパスワードなどのいくつかの環境変数を指定します。ボリュームは、ホスト上の ./data ディレクトリをコンテナの /var/lib/mysql ディレクトリにマップします (データの永続性のため)。
phpmyadmin サービスは phpmyadmin イメージを使用し、リンクを介して db サービスへの接続を指定し、ポートを介してホストのポート 8080 とコンテナのポート 80 のマッピングを指定します。環境では、データベース ホストや root パスワードなどのいくつかの環境変数を指定します。
次に、ホスト上に対応するディレクトリとファイルを作成する必要があります。ターミナルで次のコマンドを実行します。
mkdir app mkdir config/nginx mkdir data
次に、アプリケーション コードを app ディレクトリに配置し、default.conf という名前の Nginx 構成ファイルを作成して config/nginx ディレクトリに配置します。この構成ファイルは、コンテナーの /etc/nginx/conf.d ディレクトリにマップされます。
これで、コンテナを起動できます。ターミナルで次のコマンドを実行します。
docker-compose up -d
このコマンドは、すべてのコンテナを作成して起動し、バックグラウンドで実行します。 docker ps コマンドを使用すると、実行中のすべてのコンテナーを表示できます。
最後に、ブラウザから http://localhost にアクセスすると、コンテナ内の PHP アプリケーションの実行結果が表示されます。 http://localhost:8080 で phpMyAdmin にアクセスして MariaDB データベースを管理することもできます。
現時点で、Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのコンテナ拡張機能の実装に成功しました。 Docker Compose を使用すると、複数のコンテナを簡単に定義して管理でき、Nginx と MariaDB は効率的で信頼性の高いサービスを提供します。
この記事が役に立ち、Docker テクノロジーをより深く理解し、適用できるようになることを願っています。楽しいプログラミングを!
以上がDocker Compose、Nginx、MariaDB を使用した PHP アプリケーションのコンテナー スケーリングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。