PHP: Laradockちょっとだけ触ってみた

BPSの福岡拠点として一緒にお仕事させて頂いてます、株式会社ウイングドアの坂本です。 ちょっと前までは主にPHP案件でFuelPHP触ったりLaravel触ったりしていたのですが、 最近Railsやアプリ案件メインの状態に。 久しぶりにLaravelで遊んでみようと思ってみたものの、気がつけば1年以上触ってなかったためあらゆるもののバージョンが心配。 ひとまず遊ぶための開発環境なのでもっと手軽に整えたい、ということで先週ちょっとだけLaradock触ってみました。 laradock.ioより Laradockとは A full PHP development environment for Docker. 公式Introductionよりより Dockerとgitさえ使えれば用意できるPHPの開発環境。 「full PHP development environment」いい響きです。 「Lara」がつくのでLaravelのための環境かと思いきやSymfonyやWordPressも想定しているようです。 その他の手段 ちなみにLaravelの場合は環境作成のサポートが手厚く、以下の手段が用意されています。 Laravel Homestead Vagrant box Ubuntu 18.04ベース gitやnodeも入れてくれてる Laravel Valet 「MacミニマリストのためのLaravel開発環境」 バックグランドでNginxが実行されるようにしているらしい 当然のことながらMac限定 他にももちろんXAMPPを利用したり、開発機に直接PHPをインストールしたり…というのも可能ですが、 開発実行環境は仮想環境に持っていきたい 開発端末のストレージの容量が心配になってきたので小さく済みそうな方が良い Dockerをもうちょっと使えるようになりたい という考えもあり、今回はLaradockを採用しました。 前提 環境はMac Mojave10.14.2 (直前にバージョンアップしてみました) Laravelについて、構築方法などはまるっと除外してます 最終的にはLaravel+Vue.jsの複数アプリを動かせるようにしたい 参考 Laradocドキュメント Laravel + Nuxt.js の API アプリケーション開発 #1 環境構築 – chatbox blog Docker環境でLaravelを構築するまで、わずか15分。 - Qiita Laradockでの環境構築方法2パターンを細かめに説明 - Qiita Laravelが動くまで 公式のドキュメント通りのコマンド実行 以上! https://laradock.io/getting-started/ 詰まることなくあっさりLaravelのデフォルト画面が! 打ったコマンドもだいたいこれだけです git clone https://github.com/Laradock/laradock.git cd laradock cp env-example .env vim .env cd mysql/docker-entrypoint-initdb.d cp createdb.sql.example createdb.sql vim createdb.sql cd ../ vim my.cnf cd ../ cd nginx/sites/ mv default.conf default.conf.bak cp laravel.conf.example app.test.conf vim app.test.conf cd ../../ docker-compose up -d nginx mysql docker-compose exec mysql bash #(ここでDBの作成) docker-compose exec –user=laradock workspace bash #(ここでLaravelのProject作成) docker-machine ip sudo vim /etc/hosts とても楽々、ありがとう!! DB migrationも問題なく… と思いきや ここまで来てるのならあとは問題ないだろうと思ったら マイグレーションのコマンド、php artisan migrateでエラーが! (ログを残し損ねました) エラー内容的にDBの権限がなく弾かれてる様子。 事前にDBも権限も作成、設定してるし、 DBの設定も何度確認しても問題なさそう、と思ったら同じ現象に行きあった人が。 [Docker]Dockerを触ってみたついでにLaradockも試してみた話 - Qiita Laradockの.envファイルのデフォルトには以下のように最新版のバージョンを設定するようになっており、 インストールされているmysqlバージョンは8.0.13です。 この場合.envでデフォルトのユーザーを指定するのに加え、認証方式を変更してあげないといけないらしい、ということで変更したら問題なくmigrationが実行されました。 おわり 次はNuxt.jsを設定してみよう…とyarn installして設定して…ごちゃごちゃしていたらここでタイムアウト。 続きはまた今度に。 Laradockの感想としては「楽!!」の一言。 その昔、環境作成のためにあれやこれやinstallし、設定し、バージョンが違い上手くいかず…としてた頃が懐かしいです。 今はまだ初歩の初歩を触っただけなので、これからどんどん活用していきたいです。 株式会社ウイングドアでは、Ruby on RailsやPHPを活用したwebサービス、webサイト制作を中心に、 スマホアプリや業務系システムなど様々なシステム開発を承っています。