目次
1. Docker のインストール
2. Web アプリケーションを準備します
3. Docker ファイルを準備します
4. イメージをビルドします
5. コンテナーを実行します
6. 概要
ホームページ 運用・保守 Docker Docker を使用して Web プログラムをデプロイする方法

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

Apr 04, 2023 am 10:41 AM

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 までご連絡ください。

ホット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 Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Mar 17, 2025 pm 04:20 PM

この記事では、プロセス中の準備、展開ステップ、セキュリティ対策をカバーするDocker Swarmへのアプリケーションの展開を詳細に説明します。

Kubernetesのポッド、展開、サービスとは何ですか? Kubernetesのポッド、展開、サービスとは何ですか? Mar 17, 2025 pm 04:25 PM

この記事では、Kubernetesのポッド、展開、およびサービスについて説明し、コンテナ化されたアプリケーションの管理における役割について詳しく説明しています。これらのコンポーネントが、アプリケーション内のスケーラビリティ、安定性、および通信をどのように強化するかについて説明します。(159文字)

Dockerコンテナにレート制限とリソースの割り当てを実装する方法は? Dockerコンテナにレート制限とリソースの割り当てを実装する方法は? Mar 12, 2025 pm 06:07 PM

この記事では、Dockerのレート制限とリソースの割り当ての実装について詳しく説明しています。 CGROUPを使用してCPU、メモリ、およびI/Oの制限をカバーし、リソースの疲労を防ぐためのベストプラクティスを強調します。 ネットワークレートの制限、ような外部ツールが必要です

Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Mar 17, 2025 pm 04:28 PM

この記事では、手動スケーリング、HPA、VPA、およびCluster Autoscalerを使用してKubernetesのスケーリングアプリケーションについて説明し、スケ​​ーリングを監視および自動化するためのベストプラクティスとツールを提供します。

Docker Swarmでサービスを管理するにはどうすればよいですか? Docker Swarmでサービスを管理するにはどうすればよいですか? Mar 17, 2025 pm 04:22 PM

記事では、Docker Swarmのサービスの管理、ダウンタイムなしで作成、スケーリング、監視、更新に焦点を当てています。

Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Mar 17, 2025 pm 04:23 PM

この記事では、Docker Swarmにローリングアップデートを実装して、ダウンタイムなしでサービスを更新することについて説明します。サービスの更新、更新パラメーターの設定、監視の進捗状況、スムーズな更新の確保をカバーしています。

Kubernetesでの展開を管理するにはどうすればよいですか? Kubernetesでの展開を管理するにはどうすればよいですか? Mar 17, 2025 pm 04:27 PM

この記事では、さまざまなツールとベストプラクティスを使用して、作成、更新、スケーリング、監視、および自動化に焦点を当てたKubernetesの展開の管理について説明します。

低遅延アプリケーション用にDockerを最適化する最良の方法は何ですか? 低遅延アプリケーション用にDockerを最適化する最良の方法は何ですか? Mar 14, 2025 pm 02:00 PM

この記事では、低遅延アプリケーションのDockerを最適化する戦略について説明し、画像サイズの最小化、軽量ベース画像の使用、リソースの割り当てとネットワーク設定の調整に焦点を当てています。

See all articles