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
健闘を祈る、、