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

推薦する

一般的なブラウザ互換性の問題(概要)

ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...

MySQL ifnull のネスト使用手順

MySQL ifnull のネストされた使用ifnull をネストする方法があるかどうかオンラインで...

VMware ESXi6.7 の簡単なセットアップ(画像とテキスト付き)

1. VMware vSphere の概要VMware vSphere は、業界をリードする最も信...

Nginx tp3.2.3 404 問題の解決

最近、Apache を nginx に変更しました。TP プロジェクトを実行に移すと、404 エラー...

CSS3で実装された水平ヘッダーメニュー

結果:実装コードhtml <nav class="dropdownmenu"...

MySQL スライディング集計/年初来集計の原理と使用例の分析

この記事では、例を使用して、MySQL スライディング集計/年初来集計の原理と使用方法を説明します。...

Win10 インストール Linux システム チュートリアル ダイアグラム

Windows システムに仮想マシンをインストールするには、 VMware Workstationソ...

ホストがアクセスできるようにMySQLの権限を変更する方法

mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセス...

Javascriptのtry catchの2つの機能についてお話しましょう

プログラムは上から下へ順番に実行され、いくつかの制御文によって実行経路を変更することができます。制御...

mysql コマンドライン スクリプトの実行例

この記事では、例を使用して MySQL コマンドライン スクリプトの実行について説明します。ご参考ま...

Linuxターミナルでの一般的なMySQL操作コマンドの詳細な説明

仕える: # chkconfig --list すべてのシステム サービスを一覧表示します # ch...

MySQL 30軍事ルールの詳細な説明

1. 基本仕様(1)InnoDBストレージエンジンを使用する必要があります。解釈:トランザクション、...

UTF-8 および GB2312 ウェブエンコーディング

最近、多くの学生から Web ページのエンコーディングについて質問を受けています。gb2312 と ...

データベースマルチテーブル接続クエリの実装方法の詳細説明

データベースマルチテーブル接続クエリの実装方法の詳細説明結合演算子を使用して複数のテーブルクエリを実...

Mysqlは実行中のトランザクションを照会し、ロックを待機する方法

navicatを使用してテストと学習を行います。まず、 set autocommit = 0;を使用...