docker を使用して Windows 10 Home バージョンで Laravel 開発環境を構築する方法の詳細なチュートリアル

docker を使用して Windows 10 Home バージョンで Laravel 開発環境を構築する方法の詳細なチュートリアル

オペレーティング·システム:

Win10 ホームエディション

Dockerをインストールします:

公式サイトからダウンロードしたdockerが正常にインストールできず、オペレーティングシステムのバージョンの問題が発生しています~~~~

そこで、Alibaba が提供する Docker インストール パッケージを直接ダウンロードしました。

http://mirrors.aliyun.com/doc ...

コミュニティ版にはサフィックス-ceが付きます

Alibaba 画像アクセラレーション

まず、Alibaba Cloud にログインしてコンテナ イメージ サービスを検索します。

Win10 は、C:Users.dockermachinemachinesdefault の下にある config.json ファイルを見つけ、プロパティ RegistryMirror にアクセラレータ アドレスを追加し、docker 仮想マシンを再起動します。

Docker ツールボックスのファイルマウントメカニズム

私は多くの記事を読みましたが、その多くは -v /c/data:/data を使用して C ドライブの下のデータをコンテナーに直接マウントしています。 docker toolbox を使用しているため、マウント時にまず仮想マシン上のファイルを共有し、共有後に仮想マシンを再起動する必要があります。

docker-matchine 再起動デフォルト

仮想マシンのバックグラウンドdocker-matchine ssh defaultを入力すると、次の画面が表示されます。

このとき、-v /workspace:/workspace はdockerをマウントするために使用されます

Ubuntu イメージのインストールに基づくカスタム Laravel 開発イメージ

docker プル Ubuntu

Ubuntuコンテナを起動する

docker run -itd --name テスト -p 8080:80 ubuntu

Ubuntuコンテナに入り、必要なコンテンツをインストールします

apt-getアップデート
nginxをインストール
apt-get で PHP をインストール
apt-get で php7.4-fpm、php7.4-mysql、php7.4-gd、php7.4-mbstring をインストールします。
apt-get で mysql-server をインストールします
apt-get インストール コンポーザー
apt-get でネットツールをインストール
apt-get で vim をインストール
apt-get インストールノード

nginxを有効にする

サービス nginx 開始

dockerが有効なIPのポート8080にアクセスします

テストプロジェクトを作成する

nginxファイルの設定

サーバー{
 聞く 80;
 聞く [::]:80;

 サーバー名 example.com;

 ルート /workspace/test;
 インデックス index.php index.html;
 
 場所 ~ \.php$ {
 ルート /workspace/test;
 インデックス index.php index.html;
 fastcgi_index インデックス.php;
 127.0.0.1:9000; をデフォルトとして設定します。
 fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
 /etc/nginx/fastcgi_params を含めます。
 }
}

nginxを再起動する

サービス nginx を再起動

php-fpmを有効にする

サービス php7.4-fpm 開始

/etc/php/7.4/fpm/pool.d/www.confファイルを見つけて、php-fpmのリスニングポートを開きます。

リッスン = /run/php/php7.4-fpm.sock
listen = 127.0.0.1:9000 に変更します

php7.4-fpm サービスを再起動する

MySQLデータベースを構成する

リモート ユーザーの接続を許可し、/etc/mysql/mysql.conf.d/mysqld.cnf ファイルを見つけて、以下をコメント アウトします。

バインドアドレス = 127.0.0.1

ルートユーザー情報を変更するには、ユーザーインターフェイスに入ります

mysql を使用します。
ユーザーを更新します。host='%' を設定します。user='root' です。
ALTER USER 'root'@'%' IDENTIFIED BY 'password' パスワードは期限切れになりません。
ALTER USER 'root'@'%' は '123456' によって mysql_native_password で識別されます。
権限をフラッシュします。

MySQLサービスを再起動する

設定したコンテナをlaravelイメージとして別途保存する

docker commit -m="laravel 開発環境" -a="作成者" e218edb10161 laravel:v1

設定されたコンテナをエクスポートする

docker エクスポート 1e560fca3906 > laravel.tar

完全な起動 Laravel コンテナ

docker run -itd --name laravel -p 8080:80 -p 3306:3306 -v /workspace:/workspace -v /workspace/docker-conf/nginx-conf:/etc/nginx/sites-enabled laravel:v1

ワークスペースはすべてのプロジェクトのディレクトリです

nginx-confはnginx設定ディレクトリ内のデフォルトの設定ファイルであり、コンテナのnginx設定ファイルを上書きするために使用されます。

要約する

Windows 10 Home Edition で docker を使用して laravel 開発環境を構築する方法に関するチュートリアルに関するこの記事はこれで終わりです。docker を使用して laravel 開発環境を構築する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerを使用してLaravel開発環境を構築するための完全な手順
  • Dockerを使用してLaravelおよびVueプロジェクトの開発環境を構築する詳細な説明
  • dockerでlaravel開発環境をインストールする方法の詳細な説明

<<:  Vue で Openlayer を使用して読み込みアニメーション効果を実現する

>>:  jQuery タグセレクターの適用例の詳細な説明

推薦する

Docker イメージのデフォルトの保存場所を変更する方法 (ソリューション)

システムの初期のパーティション分割により、オペレーティング システム内の対応する / パーティション...

MySQL インデックス最適化の説明

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

HTML の相対パス (Relative Path) と絶対パス (Absolute Path) の詳細な理解

私は 1 年以上 Java Web 開発に携わっており、HTML または JSP ページの作成は避け...

コンテンツタイプの説明、つまりHTTPリクエストヘッダーのタイプ

コンテンツ タイプについて学ぶには、まずそれが何であるか、そして何に使用されるかを知る必要があります...

CSSの固定位置属性の詳細な説明

モバイル アプリを開発する場合、Web サイトが特定の高さまでスクロールしたときにコンテンツの一部を...

モバイルフロントエンド適応ソリューション(概要)

ネットで検索してみたところ、多くの面接でモバイル適応方法について質問されることが分かりました。最近い...

スパンの最小高さを定義するソリューションは効果がありません

span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...

グループフィールドを 1 行に書き込むための mysql group_concat メソッドの例

この記事では、MySQL group_concat を使用してグループ化されたフィールドを 1 つの...

Vueでドラッグ可能なコンポーネントを実装する方法

この記事では、Vueでドラッグ可能なコンポーネントとドラッグ可能なコンポーネントを実装する方法を参考...

テキストエリアの残りの単語数を動的に取得する方法

仕事で、これまで一度も書いたことのないケースに遭遇しました。午後の半分をその作業に費やし、ついに書き...

MySQLデータベースでスロークエリログを有効にする方法の詳細な説明

データベースはスロークエリログを有効にします設定ファイルを変更する設定ファイルmy.iniに次の2つ...

CSSにスティッキー効果を追加する方法

前面に書かれたfilter:blur と filter:contrast がこのような素晴らしい化学...

純粋な CSS 実装 (スクリプトなし) HTML コマンド スタイルのツールチップ テキスト プロンプト効果

実行プロセスを分析します。マウスをノードに移動して、ノードにツールチップ実装を開くための識別子 (...

ウェブサイトのハイパーリンクを開く方法に関する議論

新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...

iframeリフレッシュ方式の方が便利

iframeを更新する方法1. 更新するには、JavaScriptのdocument.fr.loca...