解決する課題
- 複数のlaravelプロジェクトがある
- それらを同時に開発することはない
- このとき、laradockを使いまわしたい
やり方
Directory構成
下記構成にします
- _laradock/
使い回すlaradock
- .env.base
.envのベースとなる
- .env
- .env.base
- project1/
- www/
project1 の ソースコード
- .laradock/
project1 の DB data
- docker.sh
- www/
- project2/
- www/
project2 の ソースコード
- .laradock/
project2 の DB data
- docker.sh
- www/
.env.baseの中身
プロジェクト別に変えたい項目を下記のように書き換えます。
下記は一例です。
.env.base
APPLICATION=../%APPLICATION%/www
DATA_SAVE_PATH=../%APPLICATION%/.laradock/data
NGINX_HOST_HTTP_PORT=%NGINX_HOST_HTTP_PORT%
docker.shの中身
docker.sh
cd ../_laradock
docker-compose down
cp .env.base .env
sed -i -e s/%APPLICATION%/project1/ .env
sed -i -e s/%NGINX_HOST_HTTP_PORT%/9105/ .env
docker-compose up nginx mysql
プロジェクトの起動
それぞれのプロジェクト下の docker.shを実行すればいけます。
cd project1
docker.sh
# http://localhost:9105