インターネットの急速な発展に伴い、ますます多くの企業が高パフォーマンス、高可用性、高スケーラビリティの要件に直面しています。これらの需要を満たすために、企業はアプリケーションを管理するためのより効率的で柔軟なテクノロジーを必要としています。このテクノロジーはコンテナ化です。
コンテナ化とは、アプリケーションとそのすべての依存関係をコンテナーにパッケージ化するプロセスです。このコンテナは、ソフトウェアの依存関係を気にすることなく、さまざまな環境で実行できます。コンテナ化テクノロジーを使用すると、アプリケーションの迅速な導入と管理が実現し、システムの信頼性と柔軟性が向上し、システムの運用と保守の困難さが軽減されます。
Docker は、現在最も人気のあるコンテナ化プラットフォームの 1 つです。 Docker は、開発者がアプリケーションとその依存関係をコンテナーにパッケージ化し、それをデプロイしてさまざまな環境で実行できるようにするオープン ソースのコンテナー エンジンです。 Docker は、コンテナーを簡単に管理およびデプロイするために、一般的に使用されるいくつかのコマンドとツールも提供します。
PHP 開発で Docker を使用すると、アプリケーションのデプロイメントと管理のプロセスを大幅に簡素化できます。ここでは、PHP 開発におけるコンテナ化に Docker テクノロジーを使用する方法を紹介します。
1. Dockerfile の作成
Dockerfile は、Docker イメージを構築する手順を指定するために使用されるテキスト ファイルです。 PHP 開発では、Dockerfile ファイルを通じて PHP 実行環境を定義できます。以下は簡単な Dockerfile の例です:
FROM php:7.3-apache WORKDIR /var/www/html COPY . /var/www/html/ EXPOSE 80
この Dockerfile は、7.3-apache として使用される PHP イメージのバージョンを指定し、作業ディレクトリを /var/www/html に設定し、現在のディレクトリを All files に変更します。コンテナの /var/www/html ディレクトリにコピーされます。最後に、この Dockerfile は、Web アプリケーションへの外部アクセス用にコンテナーのポート 80 も公開します。
2. Docker イメージのビルド
Dockerfile ファイルを使用すると、docker build コマンドを使用して Docker イメージを構築できます。
docker build -t myphpapp .
このコマンドは、現在のディレクトリ内の Dockerfile に基づいて、myphpapp という名前の Docker イメージを構築します。 Dockerfile ファイルが現在のディレクトリにない場合は、-f パラメーターを使用して Dockerfile ファイルのパスを指定できます。
3. Docker コンテナを実行する
Docker イメージを使用すると、docker run コマンドを使用して Docker コンテナを起動できます。
docker run -d --name myphpapp -p 80:80 myphpapp
このコマンドは、myphpapp という名前の Docker コンテナを起動し、コンテナのポート 80 をホストのポート 80 にマップします。このようにして、ホスト マシンの IP アドレスを介して Web アプリケーションにアクセスできます。
同時に、他のパラメーターを使用して Docker コンテナーの動作を制御することもできます。たとえば、ホスト ディレクトリをコンテナにマウントするには、-v パラメータを使用します。
docker run -d --name myphpapp -p 80:80 -v /path/on/host:/var/www/html myphpapp
このコマンドは、ホスト上の /path/on/host ディレクトリを、コンテナの /var/www/html ディレクトリにマウントします。コンテナ。コンテナがその中のファイルにアクセスできるようにします。
4. Docker Compose を使用して複数のコンテナを管理する
アプリケーションに複数のコンテナが含まれる場合、Docker Compose を使用してコンテナを管理できます。 Docker Compose は、yaml ファイルを通じて複数の Docker コンテナを定義して起動できるツールです。
次に、簡単な Docker Compose ファイルの例を示します。
version: "3" services: web: build: . ports: - "80:80" db: image: mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: dbname
この Docker Compose ファイルは、web と db という 2 つのサービスを定義します。 Web サービスは、現在のディレクトリにある Dockerfile ファイルを使用してイメージを構築し、コンテナのポート 80 をホストのポート 80 にマップします。 db サービスは、事前定義された mysql イメージを使用し、いくつかの環境変数を設定します。
Start Docker Compose:
docker-compose up -d
このコマンドは 2 つのサービスを開始し、それらを同じネットワークにバインドして、相互に通信できるようにします。
概要
コンテナ化と Docker テクノロジは、PHP 開発者がアプリケーションを簡単にデプロイおよび管理できるようにすると同時に、アプリケーションの信頼性と柔軟性を向上させます。 Dockerfile と Docker Compose を使用すると、PHP 開発者は複数の Docker コンテナを簡単に構築および管理し、高パフォーマンス、高可用性、および高スケーラビリティの要件を簡単に満たすことができます。
以上がPHP のコンテナ化と Docker テクノロジーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。