はじめに
Laradock - official
Laravel使った開発にLaradockを使うというのはどうだろう
を参考にLaravelの開発環境を構築してみます。
Qiitaの記事は非常にわかりやすいのですが、バージョンの問題なのか一部現在の公式と異なる部分がありましたので公式優先で行きます。
また、@y_tsubukuが開発するyaritori - メール共有システムも、良ければご覧ください
環境
- Mac OS X El Capitan 10.11.6(15G31)
- Docker for Mac
Laradockをcloneする
まずはapplicationのルートディレクトリを作成しましょう。
今回はappとしました。そこでLaradockをcloneします。
LaradockにはDockerfileやComposeのymlファイルが含まれています。
$ mkdir app
$ cd app
$ git clone https://github.com/LaraDock/laradock.git
また、この時点でenvファイルもコピーしておきます。
$ cd laradock
$ cp env-example .env
簡単!
コンテナを起動する
$ docker-compose up -d nginx mysql redis beanstalkd
一発目はimageを落としてきたりするので、かなり時間が掛かります
完了したらステータスを確認しましょう。
laradock $docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------------------
laradock_applications_1 /true Exit 0
laradock_beanstalkd_1 /usr/bin/beanstalkd Exit 137
laradock_mysql_1 docker-entrypoint.sh mysqld Exit 0
laradock_nginx_1 nginx Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1 docker-php-entrypoint php-fpm Up 9000/tcp
laradock_redis_1 docker-entrypoint.sh redis ... Exit 0
laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222->22/tcp
いい感じ!
ここで**.env**にも情報を追加してあげます。
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
ここで公式では
と記載されてますが、実際にアクセスしてみると…
:((((
まだenjoyさせてくれないようなので、次はLaravelのプロジェクトを作成してみます。
Laravelのプロジェクトを作成する
composerを使用してLaravelのプロジェクトを作成しますが、
コンテナに予めcomposerが入っているので、そちらを利用しましょう
ワークスペース(コンテナ)へログイン
docker exec -it {ログイン先のNAMES} /bin/bash
でログインします。
今回は、laradock_workspace_1にログインするため、以下のようになります。
$ docker exec -it laradock_workspace_1 /bin/bash
Laravelプロジェクトを作成
composer create-project laravel/laravel {アプリケーション名}
で作成します。
今回はtestappという名前にしました。
# composer create-project laravel/laravel testapp
データボリュームを変更する
これだけではまだ動きませんので、データボリュームを変更して動くようにします。
一旦、コンテナを停止します。
$ docker-compose stop
docker-compose.ymlを書き換えて、ホストのtestappディレクトリが/var/www直下にマウントされるようにします。
applications:
image: tianon/true
volumes:
- - ${APPLICATION}:/var/www
+ - ${APPLICATION}/testapp:/var/www
再度、コンテナを起動します。
$ docker-compose up -d nginx mysql redis beanstalkd
ブラウザで確認する
早速、アクセスしてみましょう。
:)))))
ようやくenjoyできました。あとはザクザク開発していきましょう。
バージョンを確認する
PHP
# php -v
PHP 7.1.4-1+deb.sury.org~xenial+1 (cli) (built: Apr 11 2017 22:12:32) ( NTS )
Laravel
# php artisan --version
Laravel Framework 5.4.24
終わりに
とりあえず、ゼロからLaravelの開発環境を整えるまでできました。
実際に開発をすすめる中で**「これ必要やん」**みたいなのがあったら随時足していこうと思います。