現在の位置: ホーム> 最新記事一覧> Docker Compose、Nginx、Mariadbを使用して、PHPアプリケーションのデータ移行プロセスを簡素化する

Docker Compose、Nginx、Mariadbを使用して、PHPアプリケーションのデータ移行プロセスを簡素化する

M66 2025-06-25

導入

多くの場合、データ移行は、PHPアプリケーションの開発と展開中に必要なステップです。既存のデータを新しい環境に移行するには、データの完全性を確保するだけでなく、プロセスの効率と安定性を確保する必要があります。これは、Docker Compose、Nginx、Mariadbの組み合わせを使用して簡単に実現できます。この記事では、これらのツールを使用して、特定の操作ステップと構成例を介してデータをPHPアプリケーションに移行する方法を詳細に紹介します。

準備

Docker Composeは、構成ファイルを介して複数のサービスを均一に定義および開始できるマルチコンテナーアプリケーション管理ツールです。 Nginxは、対応するPHPコンテナにHTTP要求を転送する逆プロキシサーバーとして機能します。 MariadBは、アプリケーションデータを保存するデータベースサービスです。まず、サービスを定義するためにDocker Composeファイルを作成する必要があります。

Dockerは構成を構成します

Docker Compose Configurationファイルでは、NginxとMariadbの2つのサービスを定義する必要があります。これが基本的な構成の例です。
  
バージョン: '3'
サービス:
  nginx:
    画像:nginx
    ポート:
      -80:80
    ボリューム:
       -  ./nginx.conf:/etc/nginx/conf.d/default.conf
  Mariadb:
    画像:Mariadb:10.5
    環境:
      -mysql_root_password = secret
    ボリューム:
       -  ./data:/var/lib/mysql

この構成では、NGINXサービスは公式ミラーとマップポート80をホストポートに使用します。 MariaDBサービスは、MariaDBの公式画像を使用し、環境変数を通じてルートユーザーのパスワードを設定します。データディレクトリは、永続的なストレージ用にも取り付けられています。

nginx構成

次に、nginxを構成して、PHPアプリケーションコンテナにHTTPリクエストを正しく転送できることを確認する必要があります。 `nginx.conf`構成の単純化された例を次に示します。
  
サーバー{
    匂いく80;
    server_name localhost;

    位置 / {
        proxy_pass http:// php-app;
        proxy_set_headerホスト$ host;
    }
}

ここでは、すべてのHTTPリクエストをPHP-APPという名前のPHPコンテナに転送し、要求されたホストヘッダー情報を渡します。

サービスを開始します

構成が完了すると、次のコマンドでサービスを開始できます。
  
docker -compose up -d

これにより、NginxとMariadbのDockerコンテナが開始されます。 http:// localhostにアクセスして、nginxが適切に動作していることを確認できます。

データ移行

MySQLデータベースのエクスポートファイル「backup.sql」が既にあると、Mariadbコンテナにインポートするとします。次のコマンドを使用して、データベースのインポートを完了できます。
  
Docker exec -I<mariadb_container_name> mysql -uroot -p<password> <backup.sql

このコマンドでは、 Mariadbコンテナの名前です。これはルートユーザーのパスワードであり、 backup.sqlはインポートするデータベースバックアップファイルです。

通常のバックアップ

定期的にデータバックアップを実行するには、シンプルなシェルスクリプトを記述できます。
  
#!/bin/bash
Docker exec<mariadb_container_name> mysqldump -uroot -p<password><database_name> > backup.sql

このスクリプトは、 backup.sqlという名前のバックアップファイルを作成します。 Mariadbコンテナの名前です。ルートパスワードです。それはあなたがバックアップしたいデータベースの名前です。

要約します

Docker Compose、Nginx、MariadBを使用すると、PHPアプリケーションとデータベースを簡単にコンテナ化し、効率的なデータ移行とバックアップを有効にすることができます。コンテナ化されたアプリケーションは、展開と移行だけでなく、Nginxプロキシ転送を通じても便利であり、さまざまな環境間のデータ移行がより簡単で安定しています。