画像をダウンロード docker プル mysql:5.7 docker pull php:7.2-fpm docker プル nginx docker pull redis:3.2 共有ファイルを設定する ホスト上にディレクトリを作成する E:\wnmp\mysql57\conf E:\wnmp\mysql57\ログ E:\wnmp\php72\conf E:\wnmp\php72\conf E:\wnmp\nginx\conf E:\wnmp\nginx\conf E:\wnmp\www VMware ファイル共有設定 図のように セットアップが完了したら、Docker Quickstart Terminaでdocker-machine restart defaultを実行します。 MySQLをインストールする docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7 設定ファイルをコピーする PS C:\Windows\system32>docker cp mysql57:/var/log/mysql E:\wnmp\mysql57\log PS C:\Windows\system32>docker cp mysql57:/etc/mysql E:\wnmp\mysql57\conf mysqlを再インストールし、設定ファイルを指定します PS C:\WINDOWS\system32> docker stop mysql57 マイSQL57 PS C:\WINDOWS\system32>docker rm mysql57 マイSQL57 PS C:\WINDOWS\system32> docker run -d -v /wnmp/mysql57/log:/var/log/mysql/ -v /wnmp/mysql57/conf:/etc/mysql/ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7 データベースを初期化する docker exec -ti mysql57 /bin/bash mysql_secure_installation # Mysql ステータスを表示 root@d7bd0712bcf8:/# mysql -uroot -proot mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。 MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは6です サーバーバージョン: 5.7.28 MySQL コミュニティサーバー (GPL) Copyright (c) 2000, 2019, Oracle およびその関連会社。無断複写・転載を禁じます。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 PHPをインストールする PS C:\WINDOWS\system32> docker run -d -v /wnmp/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php72 php:7.2-fpm 設定ファイルをコピーする PS C:\Windows\system32>docker cp php72:/usr/local/etc E:\wnmp\php72\conf PS C:\Windows\system32>docker cp php72:/usr/local/var/log E:\wnmp\php72\log PS C:\Windows\system32> docker cp php72:/var/www/html E:\wnmp\www PHPを再インストールし、設定ファイルを指定する PS C:\WINDOWS\system32> docker stop php72 php72 PS C:\WINDOWS\system32>docker rm php72 php72 docker run -d -v /wnmp/php72/conf/etc:/usr/local/etc -v /wnmp/php72/log:/usr/local/var/log -v /wnmp/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php72 php:7.2-fpm # PHPのバージョンを確認する PS C:\Windows\system32> docker exec -ti php72 /bin/bash ルート@742150f14d8a:/var/www/html#php -v PHP 7.2.23 (cli) (ビルド: 2019 年 10 月 5 日 00:31:47) ( NTS ) 著作権 (c) 1997-2018 PHPグループ Zend Engine v3.2.0、著作権 (c) 1998-2018 Zend Technologies ングスン インストール PS C:\WINDOWS\system32> docker run -d -p 80:80 --link php72:phpfpm --name nginx nginx:latest 設定ファイルをコピーする PS C:\Windows\system32>docker cp nginx:/etc/nginx/ E:\wnmp\nginx\conf PS C:\Windows\system32>docker cp nginx:/var/log/nginx/ E:\wnmp\nginx\log 再インストールして設定ファイルを指定する PS C:\WINDOWS\system32> docker stop nginx nginx PS C:\WINDOWS\system32>docker rm nginx nginx PS C:\WINDOWS\system32> docker run -d -p 80:80 -v /wnmp/www:/var/www/html -v /wnmp/nginx/conf/nginx:/etc/nginx/ -v /wnmp/nginx/log:/var/log/nginx/ --link php72:phpfpm --name nginx nginx #ブラウザアクセス http://192.168.99.100/ Redisが成功したことを確認する docker run -p 6379:6379 -d redis:3.2 redis-server PHP拡張機能のインストール レディス PS C:\Windows\system32> docker exec -ti php72 /bin/bash root@742150f14d8a:/var/www/html# pecl インストール -o -f redis #インストールが完了しました。Ini 設定を追加します。この時点で、docker の下の redis 設定は E:\wnmp\php72\conf\etc\php\conf.d\docker-php-ext-sodium.ini にあります。 # PHPを再起動 テストドメイン名を設定する #E:\wnmp\nginx\conf\nginx\conf.dディレクトリに新しいtest.confを作成します #E:\wnmp\www ディレクトリに新しいテスト ディレクトリを作成します。ディレクトリにindex.phpを作成し、phpinfoを出力します。 サーバー{ 聞く 80; サーバー名 test.com; #文字セット koi8-r; access_log /var/log/nginx/host.access.log メイン; 位置 / { ルート /var/www/html/test; インデックス index.php index.html index.htm; } #エラーページ 404 /404.html; # サーバーのエラーページを静的ページ /50x.html にリダイレクトします # エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルート /usr/share/nginx/html; } # PHP スクリプトを 127.0.0.1:80 で listen している Apache にプロキシします # #場所 ~ \.php$ { # プロキシパス http://127.0.0.1; #} # PHP スクリプトを 127.0.0.1:9000 で待機している FastCGI サーバーに渡します # 場所 ~ \.php$ { ルート /var/www/html/test; 192.168.99.100:9000 を設定します。 fastcgi_index インデックス.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_params を含めます。 } # Apacheのドキュメントルートが.htaccessファイルへのアクセスを拒否する # nginxのものと一致します # 場所 ~ /\.ht { すべてを否定する; } } #Nginx は設定を再読み込みするか、再起動します。 #ローカルホストはドメイン名test.comを解決し、アクセスするとphpinfoが正常であることがわかります 上記がインストール構成とテストのすべてです。もちろん、最終的にはこれらのDockerコンテナを自動起動に追加する必要があります docker コンテナ更新 --restart=always php72 docker コンテナ更新 --restart=always mysql57 docker コンテナ更新 --restart=always nginx docker コンテナ更新 --restart=always redis 要約する 上記は、win10 docker-toolsbox を使用して PHP 開発環境を構築する方法に関するチュートリアルです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.14 のインストールと設定方法のグラフィックチュートリアル
>>: JavaScript 配列 sort() メソッドの基本的な使い方と落とし穴
目次文字セット比較ルール4つのレベルの文字セットと比較規則3つのシステム変数このノートは主にMySQ...
最近はコース設計を実現するために、フロントエンドも少しやっています。今日はいくつかの機能を実現するた...
ul liの前のアイコン1をキャンセルしますクリア値1値を1に設定ラベル中央値1をクリアラベルの中央...
目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...
Nginx (エンジン x) は、軽量で高性能な HTTP およびリバース プロキシ サーバーであり...
序文この記事で実装されている要件は、実際には非常に一般的です。たとえば、ユーザーが登録したチャネルを...
PHP Linux に XML 拡張機能をインストールする1. PHPインストールソースパッケージを...
目次1. レシピ集1.1 プロジェクトの背景1.2 テクノロジースタック1.3 開発環境1.4. プ...
この記事では、例を使用して、MySQL 派生テーブルの簡単な使用方法を説明します。ご参考までに、詳細...
いつものように、今日は非常に実用的な CSS 効果についてお話します。マウスがボタンに移動すると、ド...
この記事では、参考までに、カルーセル効果の具体的なコードをJavaScript+CSSを使用して実装...
目次概要問題の説明循環リンクリスト順序付き配列数学的再帰要約する概要ジョセフ・リング問題は、ジョセフ...
React コンポーネントのライフサイクル機能とは何ですか?ライフサイクル関数は、ES6 構文クラス...
失敗のシナリオMySQL データベースに絵文字表現を挿入するために JDBC を呼び出すと、例外ja...
Linux はますます多くのユーザーに愛されてきました。なぜ Linux はこれほど急速に発展し、い...