Docker で LNMP 環境を素早く構築する方法 (最新)

Docker で LNMP 環境を素早く構築する方法 (最新)

序文

ヒント: ここで、この記事に記録するおおよその内容を追加できます。
例えば、人工知能の継続的な発展に伴い、機械学習技術はますます重要になってきています。多くの人が機械学習を学び始めています。この記事では、機械学習の基本的な内容を紹介します。

ヒント:以下はこの記事の主な内容です。以下のケースを参考にしてください。

1.MySQL?

1. MySQLイメージを取得する

docker pull mysql:5.6 

ここに画像の説明を挿入

2. 実行してmysqlコンテナを起動します

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=xy123456 --name xy_mysql mysql:5.6 

ここに画像の説明を挿入

パラメータの説明:
-d コンテナをバックグラウンドで実行します
-p ホストからコンテナへのポートマッピングを追加する
-e は、mysql 環境変数と初期 root パスワードを設定します。 –name はコンテナに名前を付けます。最後のパラメータはイメージ名で、プルするイメージの名前です。

2. php-fpmをインストールする

1. php-fpmイメージを取得する

docker pull php:7.0-fpm

docker pull php:7.4.20-fpm docker pull php:7.3.28-fpm もプルできます。これらのバージョンは倉庫にありますので、お気軽にプルしてください。

ここに画像の説明を挿入

2. php-fpmコンテナを起動します。

docker run -d -v D:/docker/nginx:/var/www/html -p 9000:9000 --link xy_mysql:mysql --name xy_phpfpm php:7.0-fpm

パラメータの説明:
-d コンテナをバックグラウンドで実行します
-p ホストからコンテナへのポートマッピングを追加する
-v はディレクトリマッピングを追加し、ホスト上の D:/docker/nginx が /var/www/html にマッピングされます。つまり、ディレクトリの内容が同期されます。ホストの 'D:/docker/nginx' 配下のコードを記述するディレクトリを直接コピーできます。$PWD が有効であれば、現在のディレクトリを参照します。このパラメータを使用するとエラーが報告されるので、パスを直接コピーして貼り付けました。
–name はコンテナに名前を付けます。–link は別のコンテナとの接続を確立し、別のコンテナのサービスを現在のコンテナで使用できるようにします。最後のパラメータはイメージ名で、プルするイメージの名前です。

3. php-fpmコンテナに入る

docker exec -it xy_phpfpm bash

パラメータの説明
-t コンテナ内に疑似端末を作成する
-i コンテナの標準入力(STDIN)と対話する

/var/www/html/ に index.php ファイルを作成すると、それがローカルにも存在することがわかります。これは、コンテナの起動時にホストとコンテナの対応するディレクトリがマップされているため、同期されていることを意味します。

ここに画像の説明を挿入
ここに画像の説明を挿入

4. pdo_mysqlモジュールをインストールする

後でテストに pdo モジュールを使用するので、pdo_mysql モジュールをインストールします。

docker-php-ext-インストール pdo_mysql

php -m はインストールが成功したかどうかを出力します。

ここに画像の説明を挿入

インストール後、phpinfo() で出力しても拡張機能が表示されない場合があります。以降のテストでは手順が変更されます。

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

1. nginxイメージを取得する

docker pull nginx:1.10.3

2. nginxコンテナを実行する

docker run -d -p 80:80 -v D:/docker/nginx:/var/www/html --link xy_phpfpm:phpfpm --name xy_nginx nginx:1.10.3

3. nginxコンテナに入り、PHPをサポートするようにnginx設定ファイルを変更します。

docker exec -it xy_nginx bash 

ここに画像の説明を挿入

/etc/nginx/conf.d/default.conf で変更することをお勧めします。
fastcgi_pass write php:7.0-fpm:9000。書き込んだエイリアスは無効になる可能性があります。
root は、以前の PHP コンテナによって設定されたコード ディレクトリとして書き込まれます。

4. インストールが成功したかどうかをテストする

index.phpコードを変更する

<?php

phpinfo(); 

ここに画像の説明を挿入

以前にインストールしたコマンドを使用した後、phpinfo() には mysql がないため、php.ini に移動して変更する必要があります。

5. 設定を変更する

docker exec -it xy_phpfpm bash 

ここに画像の説明を挿入

このコンテナでは、php.iniは/usr/local/etc/php php.ini-development php.ini-productionにあります。
これら 2 つのファイルは php.ini ファイルです。これらはまったく同じです。名前を見れば、その意味がわかります。extension=php_pdo_mysql.dll 拡張子を開くだけです。

6. MySQLテストへのリンク

index.phpコードを変更する

試す {
    $con = 新しい PDO ('mysql:host=xy_mysql;dbname=mysql', 'root', 'xy123456');
    $con->query('名前をUTF8に設定');
    $res = $con->query('ユーザーから*を選択');
    $row = $res->fetch(PDO::FETCH_ASSOC) の間 {
      // echo "id:{$row['id']} name:{$row['name']}";
	  print_r($row);
    }
} キャッチ (PDOException $e) {
     echo 'エラー理由:' . $e->getMessage();
}

エラーが報告されなければ成功です

要約する

成功した場合、プライマリ環境がセットアップされます。プロセス全体を通して注意し、ファイルを構成するときに詳細情報を確認してください。

以上がDockerでLNMP環境を構築する方法の詳細です。DockerでLNMP環境を構築する方法の詳細については、123WORDPRESS.COMの他の関連記事にも注目してください!

以下もご興味があるかもしれません:
  • Dockerを使用して分散lnmpイメージを作成する
  • DockerでLNMPアーキテクチャを展開する方法
  • dockerでlnmp環境を構築する方法
  • Dockerを使用して統合サービスlnmp環境を作成する
  • Dockerを使用してLNMP環境を構築する詳細な説明
  • DockerコンテナでLNMPをコンパイルする例

<<:  あなたのウェブサイトはIE8に適していますか?

>>:  カルーセル例の JS 実装

推薦する

Linux Bash スクリプトを使用してユーザーを識別する方法の例

多くの場合、bash スクリプト内またはスクリプト自体内で直接 sudo を使用してコマンドを実行す...

CocosCreator最適化DrawCallの詳細な説明

目次序文ドローコールとはDrawCall はパフォーマンスにどのような影響を与えますか?ドローコール...

CSS ファンタスティックボーダーアニメーション効果の実装

今日、私はブログサイト shoptalkshow を閲覧していて、非常に興味深いこのインターフェース...

CSS グリッドレイアウトで列にアイテムを埋め込む方法

n 個のアイテムがあり、これらのアイテムをグリッド レイアウトの列に並べ替える必要があるとします。列...

HTML入力ファイルコントロールはアップロードされるファイルの種類を制限します

入力ファイルの HTML コントロールを Web ページに追加します。 <input id=&...

MySQL における USING と HAVING の使用法の簡単な分析

この記事では、例を使用して MySQL での USING と HAVING の使用方法を説明します。...

Vue テンプレート構成と Webstorm コード形式仕様設定

目次1. コンパイラコードフォーマット仕様設定2. Vueテンプレートの設定1. コンパイラコードフ...

MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)

開発の背景:最近、私はバッチ データを MySQL データベースにインポートする機能に取り組んでいま...

Centos7 環境でバイナリ インストール パッケージから mysql5.6 をインストールする方法の詳細な説明

この記事では、centos7 環境でバイナリ インストール パッケージを使用して mysql5.6 ...

mysql8.0.20 のデータディレクトリを移行する方法

mysql のデフォルトのストレージ ディレクトリは/var/lib/mysql/です。以下は、デフ...

位置固定オフセット問題を解決する方法の詳細な説明

質問CSS 固定配置の position:fixed は非常に使いやすいです。ブラウザのビューポート...

MySQL トランザクション分離レベルの表示と変更の例

トランザクション分離レベルを確認するMySQL では、'%tx_isolation%'...

html+vue+element-ui のスムーズさを 1 分で体験

テクノロジーファンHTMLウェブページ、知っておくべきYouyou が開発した vue フロントエン...

Linux デスクトップ用の 4 つのスキャン ツール

ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...