ホームページ >バックエンド開発 >PHPチュートリアル >PHP開発における環境管理にコンテナテクノロジーを使用する方法
現代の PHP 開発では、環境管理にコンテナー テクノロジーを使用することがますます一般的になってきています。この記事では、Docker コンテナー テクノロジーを使用して、PHP プロジェクトの開発環境を作成、構成、管理する方法を紹介します。
1. 環境管理にコンテナーテクノロジーを使用する理由
従来の PHP 開発では、現在のプロジェクトに適した環境を構築するために、大量の構成とインストールが必要です。これらの構成が均一にパッケージ化されていれば、開発時の移植性、一貫性、信頼性を向上させることができます。この場合、コンテナーテクノロジーの使用は避けられない選択になります。
具体的には、コンテナー テクノロジを使用する利点は次のとおりです:
2. Docker を使用して PHP 開発環境を作成する
Docker は現在最も人気のあるコンテナ テクノロジの 1 つであるため、この記事では Docker を使用して PHP 開発環境を作成します。
まず、ローカル環境に Docker をインストールする必要があります。公式 Web サイトから、マシンに適した Docker バージョンをダウンロードしてインストールできます。
プロジェクトのルート ディレクトリに Dockerfile という名前のファイルを作成し、ファイルの内容を書き込みます。 Dockerfile は、Docker がイメージを作成するために使用するスクリプト ファイルです。具体的な Dockerfile の内容は次のとおりです。
FROM php:7.4-fpm # Install dependencies RUN apt-get update && apt-get install -y git libzip-dev unzip # Install PHP extensions RUN docker-php-ext-install zip pdo_mysql # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Set working directory WORKDIR /app
Dockerfile ファイルは、既存の PHP ベース イメージから新しいイメージを構築することを意味します。次に、git、libzip、unzip などの必要な依存関係をインストールし、PHP 拡張機能 zip と pdo_mysql をインストールし、最後に Composer をインストールします。
COPY コマンドは、Composer イメージから新しいイメージにファイルをコピーするために使用されることに注意してください。これにより、Composer ツールが新しいイメージで通常どおり使用できるようになります。
次に、Dockerfile を使用して Docker イメージを構築する必要があります。ターミナルでプロジェクトのルート ディレクトリを入力し、次のコマンドを実行します:
docker build -t project-name .
ここで、project-name は作成する Docker イメージの名前で、最後の "." は Dockerfile ファイルが保存されているディレクトリを示します。位置しています。このコマンドは、プロジェクトの新しい Docker イメージを作成します。
次のコマンドを使用して、新しいイメージのコンテナを起動します。
docker run -p 8000:8000 -v "$(pwd)":/app -it project-name
ここで、「8000」はポート番号です。この例では、コンテナのポート 8000 がホストのポート 8000 にマッピングされています。さらに、 -v パラメーターは、コンテナー内で PHP コードを実行できるように、現在のディレクトリをコンテナー内の /app ディレクトリにマップします。最後に、「project-name」は、使用する Docker イメージの名前を表します。
3. Docker Compose を使用して複雑な PHP プロジェクトを管理する
複雑な PHP プロジェクトの場合、複数のサービス (データ ストレージ、キャッシュ、Web サーバーなど) を使用する必要がある場合があります。現時点では、Docker Compose を使用してこれらのサービスを管理できます。
Docker Compose は、複数の Docker コンテナーを管理するために使用できる Docker 用のツールです。 Docker Compose を使用すると、複数のコンテナーを作成および構成し、それらをリンクし、いくつかの一般的なデプロイメント タスク (データ ボリュームやポート マッピングなど) を処理できます。
Docker Compose は、docker-compose.yml という名前の構成ファイルに依存します。このファイルを PHP プロジェクトのルート ディレクトリに作成し、その中に作成するコンテナを定義します。以下に例を示します。
version: '3.4' services: php: build: . ports: - "8000:8000" volumes: - .:/app depends_on: - db db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: app MYSQL_USER: app MYSQL_PASSWORD: secret volumes: - db_data:/var/lib/mysql volumes: db_data:
このファイルは、php と db という 2 つのサービスを定義します。
php サービスは、以前に作成した Dockerfile ファイルを使用して新しいイメージを構築し、コンテナの 8000 ポートをホストの 8000 ポートにマップし、現在のディレクトリをコンテナ内の /app ディレクトリにマップします。 。このサービスは db サービスにも依存します。
db サービスは MySQL 5.7 の公式イメージを使用し、MySQL の root パスワード、データベース名、ユーザー、およびその他の情報を設定するためのいくつかの環境変数を定義します。データ ボリュームも永続ストレージとして MySQL コンテナ内に作成されます。
このファイルは db_data という名前のボリュームも定義していることに注意してください。ボリュームは、異なるコンテナ間でデータを共有できるように、コンテナ内にデータを保存するために使用されます。ボリュームは、いくつかの永続ストレージ ソリューションも提供します。
docker-compose.yml ファイルを作成した後、次のコマンドを使用して、PHP プロジェクトで定義されているすべてのコンテナを作成して起動できます。
docker-compose up -d
このコマンドは、定義されたすべてのサービスをバックグラウンドで実行します。
次のコマンドを実行すると、実行されたすべてのコンテナを確認できます。
docker ps
すべてのサービスとコンテナを停止する必要がある場合コンテナの場合は、次のコマンドを実行できます。
docker-compose down
このコマンドは、実行中のすべてのコンテナを停止し、すべてのサービスを削除します。特定のサービスを停止して削除する必要がある場合は、次のコマンドを実行できます。
docker-compose stop service-name docker-compose rm service-name
ここで、service-name は、停止および削除するサービスの名前です。
この記事では、Docker を使用して PHP 開発環境を作成および管理するための基本的な概念と手順を紹介します。コンテナーテクノロジーを使用すると、開発プロセスの一貫性、移植性、信頼性が向上し、PHP プロジェクトの開発において重要な役割を果たします。
以上がPHP開発における環境管理にコンテナテクノロジーを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。