Windows で WSL&Dockerを利用してLaravelの開発環境を構築する

WSL2のインストール

https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

Docker Desktop for Windows のインストール

https://docs.docker.com/docker-for-windows/install/

↓コマンドプロンプトでこれが表示されればOK

$ docker --version
Docker version 19.03.4, build 9013bf583a

WSL2から、Docker for Windows を利用できるようにする

https://qiita.com/endo_hizumi/items/0cc50bdfbd827579733e

1.通知領域から、dockerのアイコンを右クリックして、Settingを選択

2.Generalのexpose deamon on~~のチェックを入れます。

3.ResourcesのWSL INTEGRATION から、”Ubuntu” をスイッチをONにします。

WSL 側のルートを Docker for Windows に合わせるように WSL のマウント設定を行います。

$ sudo vi /etc/wsl.conf
[automount]
root = /
options = "metadata"

以下のように Cドライブのパスが”/mnt/c/”→”/c/” に変更されていれば正常です。

$ cd /c/
$ pwd
/c/

# WSL2 上にDockerとDocker Composeをインストールする。

$ apt-get install docker
$ apt-get install docker-compose

MySQL Client のインストール

MySQLに接続する為のコマンドをインストールします。(バージョンは何でもOK)

# Windowsの場合
$ apt-get install mysql-client

# Macの場合
$ brew install mysql-client

Node.js のインストール

# Windowsの場合
$ curl -L git.io/nodebrew | perl - setup

# Macの場合
$ brew install nodebrew

# Node.js をインストール 
$ mkdir -p ~/.nodebrew/src
$ nodebrew ls-remote
$ nodebrew install v12.21.0
$ nodebrew use v12.21.0
$ npm install -g yarn

サンプルコードのダウンロード

$ git clone https://github.com/isystk/docker-php-laravel.git
$ cd docker-php-laravel

ディレクトリ構成

.
 ├── docker (各種Daemon)
 │   │
 │   ├── apache (Webサーバー)
 │   │   ├── conf.d (apacheの設定ファイル)
 │   │   └── logs (apacheのログ)
 │   ├── mysql (DBサーバー)
 │   │   ├── conf.d (mysqlの設定ファイル)
 │   │   ├── data (mysqlのデータファイル)
 │   │   ├── init (mysqlの初期DDL)
 │   │   ├── logs (mysqlのログ)
 │   │   └── script (mysql関連のスクリプト)
 │   ├── php (PHP-FRM)
 │   │   └── logs (phpのログ)
 │   ├── phpmyadmin (DB管理ツール)
 │   └── s3 (オブジェクトストレージ)
 │
 ├── htdocs (Apache公開ディレクトリ)
 │   │
 │   ├── app
 │   │   ├── Console (バッチアプリケーション)
 │   │   ├── Exceptions (例外処理)
 │   │   ├── Http (Webアプリケーション)
 │   │   ├── Models(モデル)
 │   │   ├── Prociders(サービスプロバイダー)
 │   │   └── Services(共通処理)
 │   ├── bootstrap
 │   ├── config
 │   ├── database
 │   ├── public
 │   ├── resources
 │   ├── routes
 │   ├── storage
 │   ├── tests
 │   └── composer.json
 └── dc.sh (Dockerの起動用スクリプト)

使い方

# 下準備
$ ./dc.sh init

# サーバーを起動する
$ ./dc.sh start

# データベースとPHPが立ち上がるまで少し待ちます。(初回は5分程度)

# MySQLにログインしてみる
$ ./dc.sh mysql login

# PHPサーバーにログインしてみる(composer や artisan などのコマンドは基本的にここで行う)
$ ./dc.sh php login

# モジュールをダウンロード
> composer update
> php artisan config:cache
> php artisan route:cache
> php artisan migrate
> chmod 777 bootstrap/cache
> chmod 777 storage
> chmod 777 public/uploads
# テーブルとテストデータの作成
> php artisan migrate:refresh --seed

# フロントエンドをビルドする。
$ cd htdocs
$ yarn && yarn run dev

# ブラウザでアクセス(フロント)
$ open https://localhost/

# ブラウザでアクセス(管理画面)
$ open https://localhost/admin/

# バッチを実行する(商品CSV出力バッチ)
$ ./dc.sh php login
$ php artisan stockcsv

# サーバーを停止する場合
$ ./dc.sh stop

コメント

コメントを残す

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。