タイトル: Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのコンテナ化
はじめに: コンテナ化テクノロジーの急速な発展により、ますます多くの開発者が注目し始めていますアプリケーションのデプロイと管理に Docker を使用すること。この記事では、Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションのコンテナ化を実装する方法を紹介し、読者の理解と実践に役立つ具体的なコード例を示します。
以下は、Docker Compose 構成ファイル (docker-compose.yml) の例です。
version: '3' services: webserver: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - php php: image: php:7.4-fpm volumes: - ./php.ini:/usr/local/etc/php/php.ini:ro - ./code:/var/www/html depends_on: - db db: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: your_password MYSQL_DATABASE: your_database MYSQL_USER: your_username MYSQL_PASSWORD: your_password volumes: - ./data:/var/lib/mysql
この構成ファイルを通じて、webserver、php、db の 3 つのサービスが定義されています。 。 Web サーバー サービスは Nginx イメージを使用し、ホストのポート 80 をコンテナーのポート 80 にマップします。 php サービスは PHP-FPM イメージを使用し、コード ディレクトリをコンテナーにマウントします。 db サービスは MariaDB ミラーリングを使用し、データベースのユーザー名、パスワード、データ格納ディレクトリが設定されます。
nginx.conf:
worker_processes auto; events { worker_connections 1024; } http { server { listen 80; location / { root /var/www/html; index index.php index.html index.htm; try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; } } }
php.ini:
date.timezone = Asia/Shanghai upload_max_filesize = 2M post_max_size = 8M memory_limit = 128M
上記の例では、nginx.conf は Nginx 監視ポートとプロキシを構成します。動的リクエストを PHP サービスに転送するルール。 php.ini は、タイムゾーンやアップロードファイルの制限など、いくつかの一般的な PHP パラメーターを構成します。
$ docker-compose up -d
このコマンドを実行した後、Dockerコンテナーは自動的にダウンロードされ、構成ファイルに基づいて起動されます。 docker-compose ps
コマンドを使用して、実行中のコンテナーを表示できます。
上記は単なる例であり、実際の状況はさらに複雑である可能性があります。読者は必要に応じて適切に調整および拡張できます。この記事が読者の皆様のお役に立てれば幸いです。
以上がDocker Compose、Nginx、MariaDB を使用して PHP アプリケーションをコンテナ化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。