ホームページ >バックエンド開発 >PHPチュートリアル >Docker を使用して PHP アプリケーションをデプロイおよび管理する方法

Docker を使用して PHP アプリケーションをデプロイおよび管理する方法

王林
王林オリジナル
2023-08-02 19:37:481618ブラウズ

Docker を使用して PHP アプリケーションをデプロイおよび管理する方法

はじめに:
今日のクラウド コンピューティング時代では、コンテナ化テクノロジーの人気が高まっています。そのリーダーとして、Docker はすでにほとんどの開発者に選ばれるコンテナ化ソリューションとなっています。この記事では、アプリケーションをより効率的に開発および配信できるように、Docker を使用して PHP アプリケーションをデプロイおよび管理する方法を紹介します。

1. Docker と Docker Compose をインストールする
まず、ローカル環境に Docker をインストールする必要があります。オペレーティング システムのバージョンに応じた公式ドキュメントに従ってインストールしてください: https://docs.docker.com/install/

インストールが完了したら、Docker Compose もインストールする必要があります。複数のコンテナアプリケーションを管理します。同様に、お使いのオペレーティング システムに適したインストール手順は、公式ドキュメント https://docs.docker.com/compose/install/

2 で見つけることができます。 PHP アプリケーションでは、まず必要な環境を含む Docker イメージを作成する必要があります。これを行うには、イメージを構築する手順を定義する
Dockerfile というファイルを作成する必要があります。

以下は例です

Dockerfile:

# 使用一个基础的PHP镜像
FROM php:7.4-apache

# 安装所需的PHP扩展
RUN docker-php-ext-install pdo_mysql

# 将应用程序复制到工作目录
COPY . /var/www/html

# 设置Apache配置文件
COPY apache.conf /etc/apache2/sites-available/000-default.conf

# 设置Apache的DocumentRoot
RUN sed -ri -e 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/000-default.conf

# 设置Apache访问权限
RUN chown -R www-data:www-data /var/www/html
RUN a2enmod rewrite

# 设置环境变量
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public

# 暴露容器的端口
EXPOSE 80

# 启动Apache服务器
CMD ["apache2-foreground"]

上記の

Dockerfile はベースとして php:7.4-apache を使用しますimage 、pdo_mysql 拡張機能をインストールし、アプリケーションをコンテナの指定されたディレクトリにコピーし、Apache 構成ファイルをセットアップし、書き換えモジュールを有効にして、DocumentRoot を public ディレクトリに設定します。アプリケーションの。

3. Docker Compose ファイルを作成する

次に、複数のコンテナーの実行と対話を定義および管理するために使用される Docker Compose ファイルを作成する必要があります。

以下はサンプルの

docker-compose.yml ファイルです:

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:80
    volumes:
      - .:/var/www/html
    depends_on:
      - db
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: mydatabase
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypassword

上記の

docker-compose.yml ファイルは 2 つのサービスを定義します。 ##appdbappこのサービスは、以前に作成した Docker イメージを使用し、コンテナのポート 80 をローカル ポート 8080 にマップし、現在のディレクトリをコンテナの /var/www/html にマウントします。 。 dbこのサービスは MySQL の公式イメージを使用し、root パスワード、データベース名、データベースのユーザー パスワードを設定します。 4. コンテナを起動します

コマンド ラインで、プロジェクトのルート ディレクトリを入力し、次のコマンドを実行してコンテナを起動します:

$ docker-compose up -d

その中で、

-d

パラメーターは、コンテナーをバックグラウンドで開始することを示します。 5. アプリケーションへのアクセス

コンテナが起動したら、ブラウザから

http://localhost:8080
にアクセスしてアプリケーションを表示できます。すべてが正常であれば、PHP アプリケーションが表示されます。 6. コンテナの管理

Docker Compose を使用すると、複数のコンテナを簡単に管理、操作できます。


一般的に使用されるコマンドの一部を次に示します:

コンテナを開始します:
    docker-compose up -d
  • コンテナを閉じます:
  • docker-compose down
  • コンテナのステータスの表示:
  • docker-compose ps
  • コンテナのログの表示:
  • docker-compose ログ
  • 7. 概要
Docker と Docker Compose を使用すると、PHP アプリケーションをより便利にデプロイおよび管理できます。アプリケーションと環境をコンテナーにパッケージ化することで、アプリケーションがさまざまな環境間で一貫して実行され、拡張と配信が容易になります。この記事が、Docker を使用した PHP アプリケーションのデプロイと管理に関する基本的な知識とガイダンスを提供できれば幸いです。 Docker を使用したアプリケーションの開発と配信が成功することを願っています。

以上がDocker を使用して PHP アプリケーションをデプロイおよび管理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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