100
111

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DockerでLaravelの開発環境を構築する(更新:2017/07/03)

Last updated at Posted at 2017-06-26

はじめに :whale:

Laradock - official
Laravel使った開発にLaradockを使うというのはどうだろう
を参考にLaravelの開発環境を構築してみます。
Qiitaの記事は非常にわかりやすいのですが、バージョンの問題なのか一部現在の公式と異なる部分がありましたので公式優先で行きます。

また、@y_tsubukuが開発するyaritori - メール共有システムも、良ければご覧ください :tada:

追記) エンジニアの募集もはじめました!!

環境 :deciduous_tree:

Laradockをcloneする :sheep:

まずは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

簡単!

コンテナを起動する :rocket:

$ 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**にも情報を追加してあげます。

.env
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd

ここで公式では

enjoy.png

と記載されてますが、実際にアクセスしてみると…

404.png

:((((

まだenjoyさせてくれないようなので、次はLaravelのプロジェクトを作成してみます。

Laravelのプロジェクトを作成する :tada:

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

データボリュームを変更する :sparkles:

これだけではまだ動きませんので、データボリュームを変更して動くようにします。

一旦、コンテナを停止します。

$ docker-compose stop

docker-compose.ymlを書き換えて、ホストのtestappディレクトリが/var/www直下にマウントされるようにします。

docker-compose.yml
     applications:
       image: tianon/true
       volumes:
-        - ${APPLICATION}:/var/www
+        - ${APPLICATION}/testapp:/var/www

再度、コンテナを起動します。

$ docker-compose up -d nginx mysql redis beanstalkd

ブラウザで確認する :eyeglasses:

早速、アクセスしてみましょう。

tada.png

:)))))

ようやくenjoyできました。あとはザクザク開発していきましょう。

バージョンを確認する :eyes:

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の開発環境を整えるまでできました。
実際に開発をすすめる中で**「これ必要やん」**みたいなのがあったら随時足していこうと思います。

100
111
3

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
100
111

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?