LaraDock起動用シェルスクリプト


ただコマンドを書き並べただけなのでこれをシェルスクリプトと呼ぶのは少々抵抗がありますが。

echo '; cd /your/laradock/dir/path'
cd /your/laradock/dir/path

echo '; docker-machine start'
docker-machine start

echo '; eval $(docker-machine env)'
eval $(docker-machine env)

echo '; docker-machine regenerate-certs'
echo 'y' | docker-machine regenerate-certs

echo '; eval $(docker-machine env)'
eval $(docker-machine env)

echo '; docker-machine ssh default "sudo mkdir -p /d"'
docker-machine ssh default 'sudo mkdir -p /d'

echo '; docker-machine ssh default "sudo mount -t vboxsf -o uid=0,gid=0 d /d"'
docker-machine ssh default 'sudo mount -t vboxsf -o uid=0,gid=0 d /d'

echo '; docker-compose down'
docker-compose down

echo '; docker-comose up -d nginx mysql'
docker-compose up -d nginx mysql

※ WindowsをホストOSとしてDドライブをまるっと/dにマウントするようになっています。

通常は /usr/local/bin あたりに保存すると良いかと思いますが、
筆者が利用しているGit Bashでは /usr/local が無いので、
/usr/bin/docker-compose-up に保存して使っています。
docker-compose-up コマンド一つでLaraDockが起動出来ます。

起動後は

docker exec -ti laradock_workspace_1 bash

でワークスペースにログインして作業。
Windows使用でttyがどうたらでログインできない場合は

docker-machine ssh
docker exec -ti laradock_workspace_1 bash

docker-machine内からいけばログインできます。

カレントディレクトリを決め打ちしてるのはイケてないところなので、
コマンドを打った際の現在のディレクトリを取得するか、
コマンドの引数でディレクトリの指定を出来るようにすると更に良さそう。

しかもeval $(docker-compose env)の影響がシェルスクリプト内に限定されるし、
もう一捻り二捻り三捻りくらい工夫する余地が大きく残ってそう。