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 実装

推薦する

ECMAscript の新機能の紹介

目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...

Mariadb リモート ログイン構成と問題解決

序文:インストール プロセスについては詳しく説明しません。問題に直接触れましょう。MySQL のリモ...

WeChatミニプログラムがシームレスなスクロールを実現

この記事の例では、WeChatアプレットのシームレスなスクロールを実現するための具体的なコードを参考...

Nginx アップロードファイルのサイズを変更する簡単な方法

オリジナルリンク: https://vien.tech/article/138序文私は、マークダウン...

nginx で gzip 圧縮を実装してウェブサイトの速度を向上させる方法

目次gzip 圧縮を使用する理由は何ですか? nginxはgzipを実装するgzip処理nginx ...

Linux CentOS 6.5 のアンインストール、tar、および MySQL のインストールチュートリアル

システム提供のMySQLをアンインストールする1. MySQLがシステムにインストールされているかど...

Centos7 サーバーで jar パッケージ プロジェクトを開始する最良の方法

序文Linux 上で jar パッケージを実行する方法は誰もが知っています。なぜ別々に話したいのでし...

フレームウィンドウ間の関連付けとハイパーリンクのターゲット属性の使用を実装する方法

フレーム ウィンドウの関連付けを実現するには、次に示すように、ハイパーリンクの「ターゲット」ウィンド...

Docker コンテナに TensorRT をインストールする際の問題

Ubuntu にインストールされているバージョンをアンインストールします。 sudo apt-get...

Zabbixで電子メールアラートを実装する方法

オンラインチュートリアルに従って実装しました。 zabbix3.4、スクリプトとsendEmailを...

Docker を使用して Jenkins をインストールするためのサンプル コード

Dockerコンテナのインストール時に遭遇しやすい2つの問題1.ポートはすでに割り当てられています(...

アニメーションの再生と一時停止を制御するための CSS のヒント (非常に実用的)

今日は、CSS を使用してアニメーションの再生と一時停止を制御する非常に簡単なトリックを紹介します。...

Faint: 「Web2.0 を使用して標準に準拠したページを作成する」

今日、ある人がウェブサイト開発プロジェクトについて話をしてくれました。具体的な要件について話すと、「...

ナビゲーションバーコンポーネントをVueでカプセル化する

はじめに:ナビゲーション バーなどのコンポーネント ベースのアイデアを使用して機能モジュールを完全に...

最新バージョンMySQL5.7.19 解凍版インストールガイド

MySQL バージョン: MySQL Community Edition (GPL) ------ ...