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 と docker-compose による eureka の高可用性の実現の詳細な説明

最近、新しいプロジェクトでは springcloud と docker が使用されています。この 2...

Windows Server 2008 のサーバー パフォーマンス監視に関するチュートリアル

次に、ログ管理、ログのアーカイブ、ログのトラブルシューティング、イベントの転送と収集のためのコンピュ...

HTML 左、中央、右の適応レイアウト (calc css 式を使用)

最新の HTML 標準には、レイアウトを計算するために使用できる calc CSS 式があります。し...

503 サービス利用不可エラーの解決方法の説明

1. Webページを開くと503サービス利用不可が表示されますが、更新すると正常にアクセスできます。...

Nginx で何ができるかの包括的な分析

序文この記事は、サードパーティのモジュールをロードせずにNginxで処理できることのみに焦点を当てて...

Spring Boot + jar パッケージングのデプロイメント Tomcat 404 エラーの問題を解決する

1. Spring Boot は jsp jar パッケージをサポートしていません。jsp は wa...

JavaScript で同時実行制御を実装する方法

目次1. 同時実行制御の概要1.1 フェーズ1 1.2 フェーズ2 1.3 フェーズ3 2. 同時実...

Python MySQL データベース テーブルの変更とクエリ

Python は MySQL に接続してデータベース テーブルを変更およびクエリします。 pytho...

ボタンに醜い灰色の枠線が付いています。これを削除するにはどうすればよいですか?

ダイアログをクロージャで使用し、右上隅の向こう側に閉じるボタンがあるダイアログを描画しました。ボタン...

HTML 終了タグの問題と W3C 標準

W3C の原則によれば、XML の各開始タグには対応する終了タグが必要です。つまり、<html...

新しいカーネルをLinuxシステムに移植する手順

1. ubuntu16.04 イメージと対応する ubuntu16.04 カーネル バージョンのソー...

Vue プロジェクトでよく使用されるツール機能の概要

目次序文1. カスタムフォーカスコマンド1. 方法1 2. 方法2 3. 方法3 2. 入力ボックス...

ウェブサイトにダークモード切り替え機能を持たせるための純粋なCSSフリー実装コード

序文ダーク モードの概念は、 MacOS系統のMojaveに由来し、ユーザーが選択できる 2 つのス...

サーバー上で selenium+chromedriver を実行するための詳細なチュートリアル

1. はじめにSelenium を使用して Web サイトからデータをスクレイピングしたいのですが、...

vue-cli 3 で vue-bootstrap-datetimepicker 日付プラグインを使用する方法

需要背景最近、Vue を使用してフロントエンド エンジニアリング システムと組み合わせ、以前のデモを...