ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して Docker コンテナ化を実装する方法
クラウド コンピューティング テクノロジの発展に伴い、Dockerization はますます人気が高まっています。 Docker化のプロセスでは、PHPも重要な役割を果たします。この記事では、PHP を使用して Docker コンテナ化を実装する方法を説明します。
まず、ローカル環境で必要な PHP コンテナをすばやく構築するために、Docker と Docker Compose をインストールする必要があります。 Docker と Docker Compose についてまだ知らない場合は、まず公式ドキュメントを参照して学習してください。
次のステップでは、コンテナー環境を定義する Dockerfile を作成します。そこで、必要な基本イメージを指定し、必要なパッケージをインストールし、初期化スクリプトを実行できます。以下は簡単な Dockerfile の例です:
FROM php:7.4-apache RUN apt-get update && apt-get install -y git libzip-dev && docker-php-ext-install zip && docker-php-ext-enable zip && rm -rf /var/lib/apt/lists/* WORKDIR /var/www/html COPY . . RUN chown -R www-data:www-data /var/www/html EXPOSE 80
上記の Dockerfile は公式の PHP:7.4-apache イメージを使用し、Git および libzip-dev パッケージをインストールします。次に、PHP 用の zip 拡張機能をインストールし、拡張機能を有効にします。最後に、アプリケーション全体をコンテナーにコピーし、フォルダーのアクセス許可が正しく設定されていることを確認します。最後に、EXPOSE コマンドを使用してコンテナのポート 80 を公開します。公開する必要がある他のポートがある場合は、ここで指定することもできます。
Dockerfile を使用すると、ローカル環境で PHP コンテナを構築できます。ただし、通常、アプリケーション全体を構築するにはさらに多くのコンテナーが必要ですが、現時点では、Docker Compose を使用して複数のコンテナーを管理できます。以下は、簡単な Docker Compose ファイルの例です。
version: '3.3' services: web: build: context: . dockerfile: Dockerfile ports: - "8000:80" volumes: - .:/var/www/html depends_on: - mysql mysql: image: mysql:5.7 environment: MYSQL_RANDOM_ROOT_PASSWORD: "yes" MYSQL_DATABASE: "app_db" MYSQL_USER: "app_user" MYSQL_PASSWORD: "app_password" volumes: - db_data:/var/lib/mysql volumes: db_data:
上記の Docker Compose ファイルは、web と mysql の 2 つのサービスを定義します。 Web サービスは、以前に作成した Dockerfile を使用してコンテナーを構築し、コンテナーのポート 80 をローカル ポート 8000 にマップして、ローカルでコンテナーにアクセスできるようにします。さらに、コンテナがアプリケーション コードにアクセスできるように、現在のディレクトリをコンテナ内の /var/www/html ディレクトリにマップします。最後に、Web サービスは mysql サービスにも依存します。つまり、mysql サービスが開始されていない場合、Web サービスは開始できません。
mysql サービスは公式の mysql:5.7 イメージを使用し、環境変数を指定して root パスワードとデータベース アカウントのパスワードを設定します。さらに、mysql データを永続化するためにボリュームを使用します。
Dockerfile と Docker Compose ファイルを使用して、コンテナを構築して起動できます。コンテナーを構築するには、ターミナルで Docker Compose ファイルが配置されているディレクトリに移動し、次のコマンドを実行します。
docker-compose build
このコマンドは、Docker Compose ファイルに基づいてアプリケーションのすべてのコンテナーを構築します。 Web コンテナと mysql コンテナ。
次に、次のコマンドを実行してアプリケーションを起動します。
docker-compose up
これにより、すべてのコンテナが起動され、それらが相互に接続されます。ブラウザに http://localhost:8000 と入力すると、アプリケーションにアクセスできます。
上記は、PHP を使用して Docker コンテナ化を実装するための基本的な手順です。このアプローチは、アプリケーションの導入とメンテナンスをより効率的に行うための便利な方法です。 Docker を使用すると、開発環境から実稼働環境に迅速に切り替えることができ、同時にさまざまな環境でのアプリケーションの一貫性も確保できます。必要に応じて、アプリケーションのニーズに合わせて変更およびカスタマイズできます。もちろん、Docker は巨大なツールでもあり、使用する際には十分な理解と習熟が必要です。
以上がPHP を使用して Docker コンテナ化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。