ホームページ バックエンド開発 PHPチュートリアル Docker Compose、Nginx、MariaDB 用のすぐに使えるソリューション: PHP 環境を迅速にセットアップ

Docker Compose、Nginx、MariaDB 用のすぐに使えるソリューション: PHP 環境を迅速にセットアップ

Oct 12, 2023 pm 12:46 PM
docker nginx mariadb

Docker Compose、Nginx和MariaDB的开箱即用解决方案:快速搭建PHP环境

Docker Compose、Nginx、MariaDB 用のすぐに使えるソリューション: PHP 環境を迅速にセットアップ

概要:

開発とPHP アプリケーションのデプロイメント プログラミング時には、信頼性が高く管理しやすい環境を構築することが重要です。 Docker Compose、Nginx、MariaDB は、PHP 環境を迅速に構築するためのソリューションを提供します。この記事では、Docker Compose を使用してコンテナーを構成および実行し、Web サーバーとして Nginx を使用し、データベースとして MariaDB を使用し、PHP 環境を迅速に構築する方法を紹介します。

1. Docker と Docker Compose をインストールする:

まず、Docker と Docker Compose をローカル マシンにインストールする必要があります。さまざまなオペレーティング システムのインストール ガイドは、Docker の公式 Web サイトで参照できます。インストールが完了したら、インストールが成功したかどうかを確認し、ターミナルまたはコマンド プロンプトで次のコマンドを入力します:

docker --version
docker-compose --version
ログイン後にコピー

バージョン番号が正しく表示できる場合は、Docker と Docker Compose がインストールされていることを意味します。正常にインストールされました。

2. Docker Compose ファイルの作成:

次に、docker-compose.yml という名前のファイルを作成し、その中でサービスとコンテナーの構成を定義する必要があります。

version: '3'
services:
  nginx:
    build:
      context: .
      dockerfile: nginx.dockerfile
    ports:
      - 80:80
    depends_on:
      - php
  php:
    build:
      context: .
      dockerfile: php.dockerfile
    volumes:
      - ./src:/var/www/html
  mariadb:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=secret
ログイン後にコピー

説明:

  • nginx サービス: build コマンドを使用して Nginx ベースのコンテナーを構築し、ローカル マシンのポート 80 をコンテナーのポート 80 にマップし、 phpサービス。
  • php サービス: build コマンドを使用して必要な PHP 拡張機能を含むコンテナーを構築し、ローカル マシンの ./src ディレクトリをコンテナーの /var/www/html ディレクトリにマウントして同期を実現します。コードの更新。
  • mariadb サービス: デフォルトの MariaDB Docker イメージを使用し、ROOT パスワードを Secret に設定します。

3. Dockerfile と構成ファイルを作成する:

次に、イメージのビルド時に必要な構成と依存関係を提供するために、Dockerfile と構成ファイルを作成する必要があります。

  1. nginx.dockerfile:
FROM nginx

COPY nginx.conf /etc/nginx/nginx.conf
COPY default.conf /etc/nginx/conf.d/default.conf
ログイン後にコピー

説明: 公式 Nginx イメージから新しいイメージを構築し、ローカルの nginx.conf ファイルとdefault.conf ファイルをコンテナの対応する場所。

  1. php.dockerfile:
FROM php:7.4-fpm

RUN apt-get update && apt-get install -y 
    zlib1g-dev 
    libzip-dev 
    && docker-php-ext-install zip pdo_mysql

COPY php.ini /usr/local/etc/php/conf.d/custom.ini
ログイン後にコピー

説明: 公式 PHP イメージから新しいイメージをビルドし、apt-get コマンドを使用して必要な依存関係をインストールし、docker に渡します。 -php-ext-install コマンドは、zip 拡張機能と pdo_mysql 拡張機能をインストールします。最後に、ローカルの php.ini ファイルをコンテナーにコピーします。

  1. nginx.conf:
user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        root   /var/www/html;
        index  index.php index.html;

        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ .php$ {
            fastcgi_pass   php:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}
ログイン後にコピー

説明: これは Nginx 構成ファイルです。デフォルトのログ パス、イベント設定、http 設定、およびリクエストを処理し、PHP 処理を PHP コンテナに引き渡すための基本的なサーバー ブロックを使用して構成されています。

  1. default.conf:
server {
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
ログイン後にコピー

説明: これは、Nginx のデフォルト設定ファイルです。 nginx.conf ファイルのサーバー ブロック設定と同じです。

4. コンテナーの構築と実行を開始します:

すべての構成ファイルを設定したら、コンテナーの構築と実行を開始できます。ターミナルまたはコマンド プロンプトで、docker-compose.yml ファイルが配置されているディレクトリに移動し、次のコマンドを実行します。

docker-compose up --build
ログイン後にコピー

このコマンドにより、イメージの構築とコンテナーの実行のプロセスが開始されます。 。完了すると、コンテナが実行され、http://localhost 経由で PHP アプリケーションにアクセスできることがわかります。

コンテナをバックグラウンドで実行する必要がある場合は、次のコマンドを使用できます:

docker-compose up -d --build
ログイン後にコピー

このコマンドはコンテナをデーモン モードで実行します。

概要:

Docker Compose、Nginx、MariaDB のすぐに使えるソリューションを利用して、PHP 環境を迅速に構築および管理できます。 Docker の移植性とコンテナ化の利点により、PHP アプリケーションの開発とデプロイがより簡単かつ信頼性の高いものになります。この記事がお役に立てば幸いです。コード例の詳細については、この記事で説明されている設定ファイルを参照してください。

以上がDocker Compose、Nginx、MariaDB 用のすぐに使えるソリューション: PHP 環境を迅速にセットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerバージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Docker画像を保存する方法 Docker画像を保存する方法 Apr 15, 2025 am 11:54 AM

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerからログを表示する方法 Dockerからログを表示する方法 Apr 15, 2025 pm 12:24 PM

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

See all articles