CentOS7環境でDockerを使ってPHP動作環境を構築する手順を詳しく解説

CentOS7環境でDockerを使ってPHP動作環境を構築する手順を詳しく解説

関連記事:

CentOS7でyumを使用してDockerをインストールする

Dockerを使ってWin10環境でPHP動作環境を構築する

1. プライベートネットワークを作成する

docker ネットワーク作成 lnmp

プライベート ネットワークが正常に作成されました。

2. Nginxをインストールする

ミラーアドレス: https://hub.docker.com/_/nginx?tab=tags

最新バージョンの Nginx をインストールできます。ここで、タグを検索して Nginx1.18.0 イメージをプルできます。

docker pull nginx:1.18.0

docker images コマンドを使用して、Nginx イメージが正常にインストールされていることを確認します。

Nginx を実行します。

#コンテナを実行します docker run --name nginx -p 8080:80 -v /root/docker/nginx/html:/usr/share/nginx/html -d nginx:1.18.0
 
#設定ディレクトリに移動します cd /root/docker/nginx
 
#設定ファイルをコピーします docker cp nginx:/etc/nginx/conf.d conf.d
 
#コンテナを停止する docker stop nginx
 
#コンテナを削除する docker rm nginx 
 
# もう一度実行 docker run --name nginx -p 8080:80 --network lnmp -v /root/docker/nginx/html:/usr/share/nginx/html -v /root/docker/nginx/conf.d:/etc/nginx/conf.d/ -d nginx:1.18.0

テスト: Nginx サイトのルート ディレクトリの html ディレクトリに index.html ファイルを作成し、次のテキストを記述します。

echo "Nginx サーバー" >> /root/docker/nginx/html/index.html

ブラウザは次のようにホスト アドレス 127.0.0.1:8080 にアクセスし、Nginx が正常にインストールされます。

3. MySQLをインストールする

ミラー アドレス: https://hub.docker.com/_/mysql?tab=tags 、ここから MySQL5.7.34 イメージをプルします:

docker pull mysql:5.7.35

MySQLを実行します:

docker run --name mysql5.7 --network lnmp -v /root/docker/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d --privileged=true mysql:5.7.35

4. PHPをインストールする

ミラー アドレス: https://hub.docker.com/_/php?tab=tags、PHP7.4 イメージをここからプルします:

docker pull php:7.4-fpm

PHP を実行します:

#イメージを実行します docker run --name php7.4 --network lnmp -d php:7.4-fpm
 
#ディレクトリを作成 mkdir -p /root/docker/php
 
#ディレクトリを移動 cd /root/docker/php/
 
#www.conf をコピー
docker cp php7.4:/usr/local/etc/php-fpm.d/www.conf www.conf
 
#コンテナに入る docker exec -it php7.4 bash
 
#ディレクトリを移動 cd /usr/src/
 
#ファイルを解凍します xz -d php.tar.xz
 
#ファイルを解凍する tar -xvf php.tar
 
#画像を終了する exit
 
#php.iniをコピー
docker cp php7.4:/usr/src/php-7.4.22/php.ini-production php.ini
 
#イメージを停止する docker stop php7.4
 
#イメージを削除する docker rm php7.4
 
# イメージを再度実行します docker run --name php7.4 --network lnmp -v /root/docker/nginx/html:/var/www/html -v /root/docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf -v /root/docker/php/php.ini:/usr/local/etc/php/php.ini -d php:7.4-fpm

Nginx 設定ファイルを vim /root/docker/nginx/conf.d で編集します。

サーバー{
    聞く 80;
    server_name ローカルホスト;
    
    #文字セット koi8-r;
    #access_log /var/log/nginx/log/host.access.log メイン;
 
    位置 / {
        ルート /usr/share/nginx/html;
        インデックス index.php index.html index.htm;
        try_files $uri $uri/ =404;
    }
 
    エラーページ 404 /404.html;
    場所 = /40x.html {
        ルート /user/share/nginx/html;
    }
 
    # サーバーのエラーページを静的ページ /50x.html にリダイレクトします
    #
    エラーページ 500 502 503 504 /50x.html;
    場所 = /50x.html {
        ルート /usr/share/nginx/html;
    }
 
    # PHP スクリプトを 127.0.0.1:9000 で待機している FastCGI サーバーに渡します
    #
    場所 ~ \.php$ {
        ルート /var/www/html/;
        fastcgi_pass php7.4:9000;
        fastcgi_index インデックス.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        fastcgi_params を含めます。
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 
    }
}

index.php ファイルを作成します: vim /root/docker/nginx/html/index.php

<?php
    phpinfo();

Nginx イメージを再起動します: (プロセス ID は docker ps コマンドで確認できます)

docker を再起動 43aea5a90446

このとき、ブラウザは次のようにホスト アドレス 127.0.0.1:8080 にアクセスし、PHP が正常にインストールされます。

CentOS7環境でDockerを使ってPHP動作環境を構築する記事はこれで終了です。Dockerを使ってPHP動作環境を構築する方法については、123WORDPRESS.COMの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • docker を使用して php7 と nginx の動作環境を構築するプロセス全体 (公式イメージ)
  • Centos7+Docker+Jenkins+ASP.NET Core 2.0 の自動リリースとデプロイメントの実装
  • Centos7はdockerを使ってgitlabサーバーを構築する
  • Centos7 (Kubernetes) で Docker プライベート ウェアハウスを構築する方法
  • CentOS7 Nvidia Docker環境構築

<<:  イラスト風ウェブサイトホームページデザイン ウェブサイトデザインの新トレンド

>>:  MySQL で日付を保存するためのベスト プラクティス ガイド

推薦する

JSでユーザーを追跡する方法

目次1. 同期AJAX 2. 非同期AJAX 3. ユーザーのクリックを追跡する4. リバウンドトラ...

ランダムな文字を生成する Java サンプルコード

サンプルコード: java.util.Random をインポートします。 java.util.UUI...

jQueryはシャトルボックス効果を実現します

この記事では、シャトルボックス効果を実現するためのjQueryの具体的なコードを参考までに紹介します...

docker公式mysqlイメージのカスタム構成の詳細な説明

インストール時間を節約するために、公式の mysql docker イメージを使用して mysql ...

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

JavaScript 関数呼び出しの典型的なサンプルコード

目次JavaScript 関数呼び出しの典型的な例JS関数の定義と呼び出し方法要約するJavaScr...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...

VMware仮想マシンの起動時に黒い画面が表示される問題を解決する

# VMware ハードディスクの起動優先順位を調整するステップ 1: 電源をオンにすると、BIOS...

jQueryはドロップダウンメニューのスライド効果を実現します

Web ページを作成するときに、クールでスムーズなドロップダウン メニューが必要になることがあります...

JSを使用して簡単な計算機を実装する

JSを使用して、参考用の簡単な計算機を完成させます。具体的な内容は次のとおりです。要件: 入力値は数...

Ubuntu 18仮想マシンのクローン作成後に同じIPアドレスになる問題の解決方法

序文最近、仮想マシンを使用して Ubuntu 18.04 をインストールしました。クローン作成後、I...

JSでHTML本文のスタイルを変更する

目次1. 本来の定義2. JS操作、幅の変更を例に3. 効果: 幅が変更されました 1. 本来の定義...

CSS マスクを使用して PNG 画像のサイズを大幅に最適化します (推奨)

この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してくださ...

MySQL SQL文を最適化するためのヒント

十分に最適化されていない、またはパフォーマンスが極端に低い SQL ステートメントに直面した場合、通...

CentOS 6.4 MySQL 5.7.18 のインストールと設定方法のグラフィックチュートリアル

Centos6.4 で mysql5.7.18 をインストールするための具体的な手順が全員に共有され...