ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して Docker コンテナ化を実装する方法

PHP を使用して Docker コンテナ化を実装する方法

WBOY
WBOYオリジナル
2023-06-22 21:56:15924ブラウズ

クラウド コンピューティング テクノロジの発展に伴い、Dockerization はますます人気が高まっています。 Docker化のプロセスでは、PHPも重要な役割を果たします。この記事では、PHP を使用して Docker コンテナ化を実装する方法を説明します。

  1. Docker と Docker Compose のインストール

まず、ローカル環境で必要な PHP コンテナをすばやく構築するために、Docker と Docker Compose をインストールする必要があります。 Docker と Docker Compose についてまだ知らない場合は、まず公式ドキュメントを参照して学習してください。

  1. Dockerfile の作成

次のステップでは、コンテナー環境を定義する 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 を公開します。公開する必要がある他のポートがある場合は、ここで指定することもできます。

  1. Docker Compose ファイルの作成

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 データを永続化するためにボリュームを使用します。

  1. コンテナの構築と起動

Dockerfile と Docker Compose ファイルを使用して、コンテナを構築して起動できます。コンテナーを構築するには、ターミナルで Docker Compose ファイルが配置されているディレクトリに移動し、次のコマンドを実行します。

docker-compose build

このコマンドは、Docker Compose ファイルに基づいてアプリケーションのすべてのコンテナーを構築します。 Web コンテナと mysql コンテナ。

次に、次のコマンドを実行してアプリケーションを起動します。

docker-compose up

これにより、すべてのコンテナが起動され、それらが相互に接続されます。ブラウザに http://localhost:8000 と入力すると、アプリケーションにアクセスできます。

  1. 概要

上記は、PHP を使用して Docker コンテナ化を実装するための基本的な手順です。このアプローチは、アプリケーションの導入とメンテナンスをより効率的に行うための便利な方法です。 Docker を使用すると、開発環境から実稼働環境に迅速に切り替えることができ、同時にさまざまな環境でのアプリケーションの一貫性も確保できます。必要に応じて、アプリケーションのニーズに合わせて変更およびカスタマイズできます。もちろん、Docker は巨大なツールでもあり、使用する際には十分な理解と習熟が必要です。

以上がPHP を使用して Docker コンテナ化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。