ホームページ バックエンド開発 PHPチュートリアル PHP とデータベースの統合 Dockerization

PHP とデータベースの統合 Dockerization

May 17, 2023 pm 12:21 PM
php データベース Docker化

クラウド コンピューティングとコンテナ化テクノロジの急速な発展に伴い、効率と利便性を向上させるためにアプリケーションを Docker 化する開発者が増えています。今日は、人気のある開発言語 PHP とデータベースを Docker 化して、より効率的で移植性の高い開発プロセスを実現する方法を検討します。

1. Docker とは

まず、Docker について簡単に紹介します。 Docker は、アプリケーションとサービスをコンテナーにパッケージ化して、さまざまな環境で実行できるコンテナー化テクノロジーです。従来の仮想マシンとは異なり、Docker はコンテナをより迅速に起動および停止でき、より軽量な環境とより効率的なリソース管理を提供します。

Docker を使用すると、アプリケーションの移植性と再現性が高まります。アプリケーションの実行環境と依存関係をコンテナにパッケージ化し、さまざまな環境で簡単にデプロイして実行できるためです。

2. PHP とデータベースを Docker 化する理由

PHP 開発者にとって、Dockerization のメリットは明白です。まず、PHP アプリケーションは多くのライブラリや拡張機能に依存することが多く、それらを Docker コンテナにパッケージ化することで、これらの依存関係のインストールで発生する可能性のある複雑さと競合を回避できます。

第 2 に、異なる PHP アプリケーションは異なるデータベースに接続する必要がある場合があるため、データベースとアプリケーションを同じコンテナーにパッケージ化すると、コンテナーが重くなるだけでなく、柔軟性も低下します。別々のコンテナにパッケージ化すると、よりモジュール化され、再利用可能になります。

3. PHP とデータベースを Docker する方法

次に、PHP アプリケーションとデータベースを Docker する方法と、それらの間の統合について紹介します。

  1. PHP アプリケーションの Docker 化

PHP アプリケーションを Docker 化するには、まず Dockerfile を作成する必要があります。 Dockerfile は、Docker イメージの内容を定義するテキスト ファイルで、イメージの作成に必要な命令とコマンドが含まれています。

以下は基本的な Dockerfile の例です:

FROM php:7.4-apache
COPY src/ /var/www/html/
ログイン後にコピー

この Dockerfile は Apache ベースの PHP 7.4 イメージを使用し、アプリケーション コードをコンテナーの /var/www/html / ディレクトリにコピーします。

このイメージをビルドするには、Dockerfile が配置されているディレクトリで次のコマンドを実行してください:

docker build -t my-php-app .
ログイン後にコピー

すべてがうまくいけば、ビルド プロセスの出力が表示され、最後にビルドします。 my-php-appのMirrorという名前のファイル。

  1. Docker 化されたデータベース

次に、データベースを Docker 化する必要があります。ここでは例として、人気のあるリレーショナル データベースである MySQL を使用します。

MySQL Docker イメージを使用するには、次のコマンドを実行する必要があります:

docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.7
ログイン後にコピー

このコマンドは、mysql:5.7 イメージをダウンロードし、my-mysql という名前のコンテナで MySQL を起動します。また、 -e オプションを使用して、環境変数 MYSQL_ROOT_PASSWORD を my-secret-pw に設定します。これは、MySQL の root ユーザーのパスワードとして使用されます。

  1. PHP アプリケーションと MySQL の統合

次に、MySQL データベースに接続できるように PHP アプリケーション コードを記述する必要があります。

以下は、PHP PDO 拡張機能を使用して MySQL に接続するサンプル コードです:

$pdo = new PDO('mysql:host=my-mysql;dbname=my-db', 'root', 'my-secret-pw');
ログイン後にコピー

ここでは、PDO オブジェクトを使用して、my-mysql コンテナ内の MySQL インスタンスに接続します。前に走っています。 my-mysql は、MySQL コンテナの実際の IP アドレスまたはホスト名に置き換えることができます。my-db は、接続するデータベースの名前です。

すべてが正しく設定されている場合、アプリケーションは MySQL データベースに接続し、PDO を使用してクエリなどの操作を実行できます。

4. 概要

PHP とデータベースを Docker 化することで、より効率的で移植可能な開発プロセスを実現できます。 Docker コンテナを使用すると、アプリケーションとその依存関係の管理が容易になり、アプリケーションとデータベースがより再利用可能でモジュール化されます。これらを異なるコンテナにパッケージ化することで、それらの間の関係をより柔軟に管理し、より効率的な導入と運用を実現できます。

以上がPHP とデータベースの統合 Dockerizationの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles