[laravel5.5] LaravelをDocker環境で構築する。

LaravelをDocker環境で構築する。

 

Laravel
https://laravel.com/docs/5.5/installation

Docker
https://www.docker.com/

Laradock
http://laradock.io/

LaravelドキュメントではLaravel Homesteadが紹介されていますが、
今回はLaradockでLaravelをインストールし開発環境を構築していきます。

以前紹介したLaravelインストールではmacOSにインストールして起動するところまで紹介しました。今回はもう少しエンジニアっぽく開発環境を整えて本番環境を意識していこうかと思います。

 

Version

OS X El Capitan 10.11.6

Version 17.09.0-ce-mac35 (19611)

Laradock v5.8.2

 

 

Dockerはソフトウェアコンテナ内のアプリケーションのデプロイメントを自動化するオープンソースソフトウェアである。

Linuxカーネルにおける「libcontainer」と呼ばれるLinuxコンテナ技術とaufsのような特殊なファイルシステムを利用してコンテナ型の仮想化を行う。VMware製品などの完全仮想化を行うハイパーバイザー型製品と比べて、ディスク使用量は少なく、インスタンス作成やインスタンス起動は速く、性能劣化がほとんどないという利点を持つ。Dockerfileと呼ばれる設定ファイルからコンテナイメージファイルを作成可能という特性を持つ。一方で、コンテナOSとしてはホストOSと同じLinuxカーネルしか動作しない。wiki

初心者向けの解説じゃなかったので意訳すると、

Dockerってのはコンテナっていう箱でそれぞれのソフトウェアを管理して、
本番環境でも使えるツールだよ。
Dockerの利点は今までの開発環境はLinux全体を完全に仮想化してたけど、
Dockerなら必要なものだけ用意することが出来るよ。
だから容量も少なくて済むし、軽い、そして仮想環境なのに性能が落ちないんだ。
必要なものはDockerファイルに書いてくれたらDockerでイメージ取ってくるので後は処理するよ。って感じ

PCの中にもう一つPCがあるイメージ!
意訳しすぎな気もするので、詳しいことが知りたい人は下のリンクからどうぞ。

The Docker platform leverages Docker containers to enable IT operations teams and Developement teams to build, ship and run any application, anywhere.
https://www.docker.com/what-docker

 

ほかにも利点がいっぱいあるのですが、個人的にはまだ使ったことないので一緒に開発してくれる方がいらっしゃったら一緒にしてみたいなって思います。

 

DockerインストールするのはGUIでサクッとできるので割愛。

 

Laradock

設定完了

 

使ってみる。

こんな感じになったら大丈夫!

 

Laravel インストール

docker-compose psでupになっているのを確認できたらワークスペースでLaravelインストールします。

10分ぐらいかかるので気長に待ちましょう。

またcomposerコマンド使う場合WARNING出ますが気にしなくていいです。

 

http://project-name.devでLaravelと出たら完了です。

 

Migrate

せっかくなのでMySQLの話もします。

個人的に結構ハマったポイントです><

 

MySQLをGUIで操作できるSequel Proを使ってみます。

project-name下の.env編集

 

Docker内のコマンドライン

 

Sequel Pro

名前:適当(Docker MySQLとか

ホスト:127.0.0.1

ユーザ名:laradock

パスワード:secret

これで接続できます。

 

エラー

実際に私が経験したエラーを紹介しときます。

MySQLが立ち上がらない

MySQL 8.0から5.7に変更した際MySQLが起動しなくなった。

原因->MySQLデータが壊れている。

改善策->.laradock/dataを削除後 php artisan migrate

Nginxが立ち上がらない

原因->NginxでPortがかぶったらエラーになる可能性はあります。

改善策->ネットワークユーティリティ->Portsscan->バッティングしているアプリを終了

改善策->.envでNginx Portを80->8888等に変更

Migrateが上手くいかない

composer dump-autoload する

MySQL設定を見直す。

 

他あったらまた書きます。

最後

今回はLaradockでLaravelの開発環境を構築する方法を書きました。

日本語の記事あんまり無かったりするので書いて見ましたが、はたしてこれで伝わるのかなってレベルの文章力です。。

伝えたいことは全部のせてありますので、何かの参考にしていただければと思います。

 

Lara-bell

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です