LoginSignup
9
2

More than 3 years have passed since last update.

Laradockで複数プロジェクトのローカル環境構築!

Last updated at Posted at 2020-01-30

Windows10のアップデートでvirtureBoxの環境がぶっ壊れてしまい、Laradockに触れてみた。
やっと起動したぜ!

1.下準備(Docker desktopインストール)

ローカルドメインイメージ

https://dog.local/
https://cat.local/
https://pig.local/
  • 以前、vitureBoxを使用していた場合はdockerで始まる環境変数を全て削除する
  • hyper-vを有効化 する(https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
  • タスクマネージャで仮想化が有効になっているか確認(念のため)
  • TMBDserviceを無効にして置く(ウイルスバスターファイアウォール環境の場合)
  • Docker for Windowsをインストールして、 管理者権限 で実行(https://docs.docker.com/docker-for-windows/install/)
  • Docker desktopアイコンを右クリックSwitch Linux・・・項目がある場合 Linuxコンテーナに変更 する。
  • Docker desktop右クリック→Setting→ File sharingにチェック を入れる

*既存プロジェクトを各フォルダにクローンして置く
作成イメージ

c://work/laradock //laradockは勝手に生成されるので作らない
c://work/dog
c://work/cat
c://work/pig

2.Laradockをクローン

コマンドプロンプトを 管理者権限 で開く

cd  work <-任意の作業フォルダ
git clone https://github.com/Laradock/laradock.git laradock

3. Laradockの.env設定

laradockフォルダ内のenv-exampleをコピーして
.envを作成
.envをエディターで開いてphpのバージョンを7.2にする

-PHP_VERSION=7.3
+-PHP_VERSION=7.2

他の設定は不要

4. Laradockでnginxの複数サイト設定

c://work/laradock/nginx/sitesへ移動
laravel.conf.exampleをコピーして
dog.conf
cat.conf
pig.conf
を作成
dog.conf、cat.conf、pig.confの中身を編集

//下記コメントアウト
#listen 80; 
#listen [::]:80; 

//下記追加
listen 443 ssl; 
listen [::]:443;
ssl_certificate /etc/nginx/ssl/dog.local.crt; //SSL設定用のオレオレ証明書
ssl_certificate_key /etc/nginx/ssl/dog.local.key;
//(cat、pig同様)

//server_name とrootを変更
server_name dog.local;
root /var/www/dog/public;

C:\work\laradock\nginx\startup.shを開く

下記内容を追記
★同じ内容のcat,pigバージョンをそれぞれ作成

if [ ! -f /etc/nginx/ssl/dog.local.crt ]; then
    openssl genrsa -out "/etc/nginx/ssl/dog.local.key" 2048
    openssl req -new -key "/etc/nginx/ssl/dog.local.key" -out "/etc/nginx/ssl/dog.local.csr" -subj "/CN=dog.local/O=dog.local/C=UK"
    # ↓ Chrome用に設定を追加。ホスト名を指定する。
    echo subjectAltName=DNS:dog.local > "/etc/nginx/ssl/dog.ext"
    openssl x509 -req -days 365 -in "/etc/nginx/ssl/dog.local.csr" -signkey "/etc/nginx/ssl/dog.local.key" -out "/etc/nginx/ssl/dog.local.crt" -extfile "/etc/nginx/ssl/dog.ext"
fi

5.hostsの設定を行う

メモ帳を管理者権限で下記のhostファイルを開く
C:\Windows\System32\drivers\etc\hosts

127.0.0.1 dog.local
127.0.0.1 cat.local
127.0.0.1 pig.local

を追記

6.コンテーナ起動

初回は数分かかる

docker-compose build nginx
docker-compose up -d workspace nginx

エラーなくコンテーナが起動したら
下記URLで確認して完了

https://dog.local/
https://cat.local/
https://pig.local/

7.そのた

・コンテーナ起動
docker-compose up -d workspace nginx
・コンテーナoff
docker-compose down
・コンテーナ確認
docker-compose ps
・nginxコンテーナ中身
docker exec -it laradock_nginx_1 bash

健闘を祈る、、

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2