目次
1. Docker の基本
2. Docker による lnmp 環境の構築
ホームページ 運用・保守 Docker docker が lnmp 環境 (php7.4 + nginx) を構築する方法を分析する

docker が lnmp 環境 (php7.4 + nginx) を構築する方法を分析する

Feb 15, 2022 am 10:25 AM
docker nginx

この記事では、Linux での docker のインストール方法と、docker を使用した lnmp 環境 (php7.4 nginx) の構築手順について紹介します。

docker が lnmp 環境 (php7.4 + nginx) を構築する方法を分析する

1. Docker の基本

1.1 Docker のインストール

Docker のインストールは非常に簡単です。 centos システムで yum コマンドを直接使用してインストールします:

yum install -y docker
ログイン後にコピー

完了後、docker のバージョン情報を確認します:

[root@localhost docker]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-204.git0be3e21.el7.x86_64
 Go version:      go1.10.3
 Git commit:      0be3e21/1.13.1
 Built:           Fri Mar 19 13:57:09 2021
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-204.git0be3e21.el7.x86_64
 Go version:      go1.10.3
 Git commit:      0be3e21/1.13.1
 Built:           Fri Mar 19 13:57:09 2021
 OS/Arch:         linux/amd64
 Experimental:    false
[root@localhost docker]#
ログイン後にコピー

インストールが完了したことを証明します。 docker コマンドは次のとおりです:

systemctl start docker   # 启动docker
systemctl stop docker    # 停止docker
systemctl status docker  # 查看docker状态
systemctl restart docker # 重新启动docker
ログイン後にコピー

sudo systemctl enable docker #ブート時に docker が自動的に開始するように設定します

開始する前に、docker イメージ ソースを変更する必要があります:

[root@localhost docker]# vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://ftnejmh3.mirror.aliyuncs.com"]
}
ログイン後にコピー

完了後、 を実行します。 systemctl start docker を実行して docker サービスを開始します。

2. Docker による lnmp 環境の構築

環境ソフトウェアの紹介:

1. docker

2. nginx

3. mysql

4. php7.4 [推奨学習: 「PHP ビデオ チュートリアル 」]

docker によって構築された lnmp ディレクトリ構造:

docker
│   └── nginx
│   │   └── default.conf #nginx配置文件
│   └── www
│       └── ...  #项目代码
ログイン後にコピー

2.1 Docker は nginx をビルドします

docker search nginx コマンドを使用して、Docker Hub 上の nginx イメージを見つけることができます。ここでは、公式イメージを直接取得します

[root@localhost ~]# docker pull nginx
ログイン後にコピー

ダウンロードが完了したら、リポジトリが nginx であるイメージがローカル イメージ リストに見つかります。

[root@localhost www]# docker images
REPOSITORY       TAG       IMAGE ID        CREATED        SIZE
docker.io/nginx  latest    62d49f9bab67    12 days ago    133 MB
ログイン後にコピー

nginx 構成の作成

[root@localhost ~]# cd /docker/nginx
[root@localhost ~]# touch default.conf
[root@localhost ~]# vim default.conf

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;
    root /docker/www/lmrs-2008/public;
    index index.php index.html;

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

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /docker/www/lmrs-2008/public;
    }

    location ~ \.php$ {
        root /docker/www/lmrs-2008/public;
        fastcgi_pass   172.17.0.3:9000;    //容器的ip地址
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
ログイン後にコピー
fastcgi_pass   172.17.0.3:9000;
ログイン後にコピー

IP 情報の表示

[root@localhost docker]# docker inspect php | grep "IPAddress"
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.3",
                    "IPAddress": "172.17.0.3",
ログイン後にコピー

nginx イメージを使用して nginx アプリケーション コンテナを開きます

[root@localhost ~]# docker run -p 80:80 -d --name nginx -v /docker/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /docker/www:/docker/www  --privileged=true nginx

-p 80:80:将容器的80端口映射到主机的80端口
-d 后台运行(守护进程)
--name nginx:将容器命名为nginx
-v 将主机中当前目录下的www挂载到容器的www目录

#查看docker目前的容器
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
8781afd1bf13        nginx               "/docker-entrypoin..."   About an hour ago   Up 17 minutes       0.0.0.0:80->80/tcp                  nginx
ログイン後にコピー

2.2 docker インストール php

nginx と同様に、最初に docker search php を通じてイメージを見つけることができます。ここでは、7.4-fpm というラベルの付いた公式イメージを直接取得します。他のバージョンは自分で選択できます

[root@localhost ~]# docker pull php:7.4-fpm
ログイン後にコピー

ダウンロードが完了すると、ローカル イメージ リストで、php のリポジトリと 7.4-fpm のラベルを持つイメージを見つけることができます。

[root@localhost docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              62d49f9bab67        12 days ago         133 MB
docker.io/php       7.4-fpm             41b17b0f90e6        2 weeks ago         405 MB
ログイン後にコピー

php ミラーを使用して php-frm アプリケーション コンテナを開きます

[root@localhost docker]# docker run -p 9000:9000 -d --name php -v /docker/www:/docker/www --privileged=true php:7.4-fpm
-p 9000:9000 :将容器的9000端口映射到主机的9000端口
-d 后台运行(守护进程)
--name php:将容器命名为php
-v 将主机中当前目录下的www挂载到容器的www目录
ログイン後にコピー

コンテナの起動ステータスを確認します

[root@localhost docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
cbf73ca0f17c        php:7.4-fpm         "docker-php-entryp..."   About an hour ago   Up About an hour    0.0.0.0:9000->9000/tcp              php
8781afd1bf13        nginx               "/docker-entrypoin..."   About an hour ago   Up 23 minutes       0.0.0.0:80->80/tcp                  nginx
ログイン後にコピー

この時点で、nginx と php が実行されていることがわかります。成功しました (STATUS is up 実行中であることを示します)

nginx によって設定された php-fpm サービス IP が一貫しているかどうかを確認します:

location ~ \.php$ {
    root /docker/www/lmrs-2008/public;
    fastcgi_pass   172.17.0.3:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
ログイン後にコピー

上記の設定ではfastcgi_pass 172.17 .0.3:9000 ;表示している php コンテナの IP と一致している必要があります。

上記の構成を完了し、コンテナーの起動に問題がないことを確認したら、テストできます:

アクセス時にディレクトリのアクセス許可に問題がある可能性があります。解決策は次のとおりです:

[root@localhost docker]# cd /docker/www
[root@localhost www]# chmod -R 777  文件名
ログイン後にコピー

推奨学習: "docker ビデオ チュートリアル "

以上がdocker が lnmp 環境 (php7.4 + nginx) を構築する方法を分析するの詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

Dockerを再起動する方法 Dockerを再起動する方法 Apr 15, 2025 pm 12:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop< container_id>);コンテナを起動します(docker start< container_id>);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

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

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

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

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

Dockerプロセスを表示する方法 Dockerプロセスを表示する方法 Apr 15, 2025 am 11:48 AM

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

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

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

See all articles