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

推薦する

まだ*を選択しますか?

アプリケーションが牛のように遅い理由は数多くあります。ネットワーク、システム アーキテクチャ、または...

よくある MySQL テーブル設計エラーの概要

目次間違い1: データの列が多すぎる誤解2: 共同クエリが多すぎる誤解3: ENUMの代わりにSET...

Linux での Docker と portainer の設定方法

1.Docer CEをインストールして使用するこの記事では、CentOS 7 を例に Docker ...

Vue の関連ページへのマルチレベルジャンプ (ページドリルダウン) 機能の完全な例

背景プロジェクト開発プロセスでは、前のページから次のページにジャンプする必要に迫られることがよくあり...

Linux システムで IPv6 をサポートするように Nginx を設定する方法

1. 既存のnginxがipv6をサポートしているかどうかを確認する既存の nginx が ipv6...

Linux ベースの MySQL マスター スレーブ構成の全プロセスを記録する

mysql マスタースレーブ構成1. 準備ホスト: 192.168.244.128スレーブ: 192...

フレックスレイアウトは、1行あたりの固定行数と適応レイアウトを実現します。

この記事では、1行あたりの固定行数+アダプティブレイアウトを実現するフレックスレイアウトを紹介し、皆...

CSS で中空効果を実装するサンプルコード

効果原理主にCSSグラデーションを使用して、切り取りを必要としない背景のくり抜きを実現します。クーポ...

Linux ifconfig コマンドの使用

1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...

MySQL 5.7.10 インストール ドキュメント チュートリアル

1. 依存パッケージをインストールする yum -y インストール gcc-c++ ncurses-...

MySQL 5.5 のインストールと設定のグラフィックチュートリアル

MySQL 5.5 のインストールと構成のチュートリアル ノートを整理し、全員と共有します。 1.公...

ゲーム着物メモ問題の簡単な分析

本日、ゲームを再起動した後、バックアップしたデータをターゲットデータベースにインポートできないことが...

Windows 10 64 ビット版に MySQL 5.6.35 をインストールするためのグラフィック チュートリアル

1. MySQL Community Server 5.6.35をダウンロードするダウンロードアドレ...

Docker+nextcloudで個人用クラウドストレージシステムを構築

1. Dockerのインストールと起動 yum で epel-release をインストールします ...

docker run後にコンテナがExited (0)と表示される問題を解決する

Centos7 上で openresty 用の Dockerfile を作成し、ビルドしました。 d...