クラウドコンピューティングとコンテナ化テクノロジーの人気により、Dockerは開発者がアプリケーションを構築、展開、管理する最初のツールになりました。 Dockerは、PHPアプリケーション向けのシンプルな環境構成と便利なコンテナ化ソリューションを提供します。この記事では、DockerとDocker Composeの使用方法をより深く理解して、PHPアプリケーションを展開および管理し、開発効率を改善し、アプリケーション配信プロセスを最適化します。
まず、ローカル環境にDockerをインストールする必要があります。オペレーティングシステムに応じて、公式ドキュメントにアクセスし、手順に従ってインストールを完了することができます:[dockerインストール](https://docs.docker.com/install/)。
インストールが完了すると、Docker Composeがインストールされ、複数のコンテナのアプリケーションの管理に役立つために使用されます。 Docker Composeのインストール方法については、公式ドキュメントを参照してください。
PHPアプリケーションを展開する前に、必要な環境を含むDocker画像を作成する必要があります。まず、DockerFileというファイルを作成して、画像を作成する手順を定義します。
これがDockerFileの例です。
#PHP 7.4とPHPからのApacheの基本画像を使用:7.4-Apache <h1>PDO MySQL拡張機能をインストールします</h1> <p>docker-php-ext-install pdo_mysqlを実行します</p> <h1>コンテナの作業ディレクトリにアプリケーションをコピーします</h1> <p>コピー 。 /var/www/html</p> <h1>Apacheを構成します</h1> <p>apache.conf /etc/apache2/sites-abailable/000-default.confをコピーします</p> <h1>ApacheのDocumentRootを変更します</h1> <p>sed -ri -e 's!/var/www/html!/var/www/html/public!g'/etc/apache2/sites-abailable/000-default.confを実行します</p> <h1>アクセス権限を設定します</h1> <p>chown -r www-data:www-data/var/www/htmlを実行します</p> <h1>Apacheの本き変化えモジュールを有効にします</h1> <p>a2enmod rewriteを実行します</p> <h1>環境変数を構成します</h1> <p>env apache_document_root =/var/www/html/public</p> <h1>コンテナのポートを露出します</h1> <p>80を公共します</p> <h1>Apacheサーバーを始めるします</h1> <p>cmd ["apache2-foreground"]<br>
上記のDockerFileは、PHP:7.4-Apacheをベースイメージとして使用し、 `pdo_mysql`拡張機能をインストールします。 「copy」コマンドを介して、アプリケーションコードはコンテナの指定されたディレクトリにコピーされ、apacheは `rewrite`モジュールの有効化、「documentroot」の設定、コンテナ内のすべてのファイルへの「www-data」ユーザーの許可を設定するなど、関連する設定で構成されます。
次に、コンテナの構成を定義および管理するDocker Composeファイル(docker-compose.yml)を作成する必要があります。
これがDocker-Compose.ymlファイルの例です。
バージョン: '3' <p>サービス:<br> アプリ:<br> 確立するてる:<br> コンテクスト: 。<br> dockerfile:dockerfile<br> ポート:<br> - 「8080:80」<br> ボリューム:<br> - 。:/var/www/html<br> deprofs_on:<br> -DB</p> <p>DB:<br> 画像:MySQL:5.7<br> 環境:<br> mysql_root_password:secret<br> mysql_database:mydatabase<br> mysql_user:myuser<br> mysql_password:mypassword<br>
docker-compose.ymlファイルは、「app」と「db」の2つのサービスを定義します。 「アプリ」サービスは、以前に作成したDocker画像を使用し、コンテナの80ポートをローカル8080ポートにマッピングします。さらに、現在のディレクトリをコンテナ内の `/var/www/html`ディレクトリに取り付けます。 `db`サービスはMySQLの公式画像を使用し、データベースに関連するパスワードを設定します。
コマンドラインにプロジェクトのルートディレクトリを入力し、次のコマンドを実行してコンテナを起動します。
$ docker -compose up -d
`-d`パラメーターを使用して、バックグラウンドを実行しているコンテナを示します。
コンテナが起動した後、ブラウザを介してPHPアプリケーションを表示して[http:// localhost:8080](http:// localhost:8080)にアクセスできます。正しく構成されている場合、アプリのホームページが表示されます。
Docker Composeを使用すると、複数のコンテナを簡単に管理および制御できます。ここにいくつかの一般的なコマンドがあります:
DockerとDocker Composeを使用すると、PHPアプリケーションを効率的に展開および管理できます。オペレーティング環境を備えたパッケージングアプリケーションは、さまざまな環境で一貫してアプリケーションが実行されることを保証するだけでなく、拡張と配信プロセスを簡素化します。この記事が、Dockerを使用してPHPアプリケーションを展開し、開発効率を向上させる方法をよりよく理解するのに役立つことを願っています。