ホームページ  >  記事  >  運用・保守  >  Docker を使用して Web プログラムをデプロイする方法

Docker を使用して Web プログラムをデプロイする方法

PHPz
PHPzオリジナル
2023-04-04 10:41:392580ブラウズ

Docker は軽量コンテナ テクノロジとして、アプリケーションのデプロイメントと管理において独自の利点を持っています。 Docker を使用すると、アプリケーションとその必要な実行環境をポータブル コンテナにパッケージ化し、迅速かつ柔軟な展開と管理を実現できます。

この記事では、Nginx PHP-FPM を例として、Docker を使用して Web プログラムをデプロイする方法を紹介します。

1. Docker のインストール

まず、このマシンに Docker をインストールする必要があります。具体的なインストール方法は[Docker公式サイト](https://docs.docker.com/engine/installation/)に記載されています。

インストールが完了したら、次のコマンドを使用して Docker のバージョンを確認できます:

docker version

2. Web アプリケーションを準備します

この記事では最も単純な PHP プログラムを取り上げます。例: この例では、次の内容を含む新しい index.php ファイルをマシン上の任意のディレクトリに作成します:

<?php
phpinfo();
?>

3. Docker ファイルを準備します

次, Mirrorを構築するためのDockerfileを準備する必要があります。このマシン上の任意のディレクトリに次の内容の新しい Dockerfile ファイルを作成します:

# 基础镜像
FROM php:7.0-fpm

# 将本地文件夹挂载到当前容器
RUN mkdir -p /var/www/html
WORKDIR /var/www/html
COPY index.php /var/www/html

# 安装nginx
RUN apt-get update
RUN apt-get install -y nginx

# 将nginx配置文件复制到容器中
COPY default.conf /etc/nginx/conf.d/default.conf

# 开放80端口
EXPOSE 80

# 启动nginx和php-fpm服务
CMD service nginx start && php-fpm

上記の Dockerfile には次の部分が含まれます:

  • 基本イメージ: つまり、依存するイメージオン、ここを選択します PHP7.0-FPM がベース イメージとして使用されます;
  • ローカル フォルダーを現在のコンテナーにマウントします: ここでは、ローカルの index.php ファイルをコンテナーにコピーします。
  • Nginx のインストール: コンテナーに Nginx をインストールし、構成ファイルをコンテナーにコピーします;
  • Open port 80: 外部アクセス用にコンテナーのポート 80 を開きます;
  • 開始サービス: コンテナーの実行時に nginx サービスと php-fpm サービスを開始します。

さらに、Nginx 構成ファイルも必要です。このマシン上の任意のディレクトリに次の内容の新しい default.conf ファイルを作成します:

server {
        listen 80;
        server_name localhost;
        root /var/www/html;

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

        location ~ \.php$ {
                fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        }
}

上記の Nginx 構成ファイルには次の部分が含まれます:

  • server: Nginx がリッスンするポート番号とサーバー名を指定します;
  • root: ルート ディレクトリを指定します;
  • location: リクエストURLのマッチング方法を指定;
  • fastcgi_param: PHPプログラムのファイルパスを指定;
  • fastcgi_pass: アドレスを指定php-fpm サービスの。

4. イメージをビルドします

上記 2 つのファイルのディレクトリで、次のコマンドを実行してイメージをビルドします:

docker build -t webapp .

その中に webapp はイメージ名で、最後の . は現在のディレクトリを表します。

構築が完了したら、次のコマンドを使用して現在のすべてのイメージを表示できます:

docker images

5. コンテナーを実行します

次のコマンドを実行してコンテナーを開始します:

docker run -p 80:80 -e TZ=Asia/Shanghai webapp

このうち、-p パラメータはコンテナのポート 80 をローカル マシンのポート 80 にマッピングし、-e パラメータはローカル マシンのタイム ゾーンを指定します。コンテナ。

正常に実行されたら、ブラウザに http://localhost と入力して Web アプリケーションにアクセスします。

6. 概要

上記の手順により、Docker を使用した単純な Web アプリケーションのデプロイに成功しました。 Docker を使用すると、複雑な構成プロセスが効果的に削減され、展開と管理がより簡単かつ自動化されます。コンテナ テクノロジの継続的な開発と改善により、Docker は将来、アプリケーションのデプロイと管理のための主流ツールの 1 つになることは確実です。

以上がDocker を使用して Web プログラムをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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