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 タグセレクターの適用例の詳細な説明

推薦する

MySQL全文インデックスの原理と欠点

MySQL フルテキスト インデックスは、特定のテーブルの特定の列に表示されるすべての単語のリストを...

H5ゲームをnginxサーバーにデプロイする方法の詳細な説明

自己学習型ゲーム開発の道において、最も充実した瞬間は、自分でミニゲームを作り、友達と共有して試しにプ...

jQueryはすべての選択と逆選択操作ケースを実装します

この記事では、全選択と逆選択操作を実装するためのjQueryの具体的なコードを参考までに共有します。...

Node.js のイベント モジュールに関する知識ポイントのまとめ

Node の研究と応用を通じて、NodeJS はシングルスレッド、イベント駆動型、非ブロッキング I...

入力スクリプトなしでタイプ拡張を使用する方法

序文JS の型付けが弱く、記述基準が緩く、開発ツールのサポートが弱いため、前任者のコードをメンテナン...

HTML ページジャンプコード

次のコードを index.html などのデフォルトのホームページ ファイルとして保存し、ルート デ...

CSSセレクターでの正規表現の使用

はい、CSS にも正規表現があります (アーメン) CSS で目立つための 2 つの強力なツール: ...

JavaScript データ型の詳細な説明

目次1. リテラル1.1 数値リテラル1.2 浮動小数点リテラル1.3 特別な値1.4 文字列リテラ...

ウェブマスターが注目すべき、ウェブサイトのユーザビリティを向上させる 9 つのコード最適化のヒント

1. ロゴに代替テキストを追加するこれには 2 つの利点があります。スクリーン リーダーがロゴ画像の...

nginx 用の zabbix 5.0 をインストールして展開する方法

目次実験環境インストールと展開データベースをインストールして設定します (ここでは mariadb ...

vue backtop コンポーネントを実装するための完全なコード

効果: コード: <テンプレート> <div class="back-t...

jsネイティブカルーセルプラグインの制作

この記事では、jsネイティブカルーセルプラグインの具体的なコードを参考までに共有します。具体的な内容...

Ubuntu 18.04にMySQL 5.7をインストールする

この記事は MySQL 公式サイトを参考にしてまとめたものであり、遭遇したいくつかの問題も記録されて...

ウェブページを開いて数秒後に他のページにリダイレクトする

これを実現するには、次のコードを追加するだけです。方法1: メタを使用する使用方法: <Met...

CentOS 8が利用可能になりました

CentOS 8 が利用可能になりました! CentOS 8 と RedHat Enterprise...