PHP
Laravel
Docker
LaraDock

LAMP 環境の Docker は laradock でええやんになる軌跡


軌跡


  1. Docker 触ってみたかった

  2. laradock なるものがあるのを知る

  3. なんとなく docker-compose up -d してみるもよくわからん

  4. docker で最小構成の LAMP を探す

  5. あった


    1. https://qiita.com/tatsuno/items/c9bbb604d8338551b5dc

    2. https://github.com/ciloholic/docker_development



  6. fork して適当に弄ってみると結構順調


    1. https://github.com/mentol0126/docker_development



  7. よし Laravel 入れっぞ <- ここで詰んだ

  8. laradock でええやん

最小構成学ぶ過程である程度 Docker の基礎は知れたしええかーと


学んだこと


  • Docker 間の通信は、特に設定してなくても host 名でやり取りできる



    • workspace.env には mysql だけで良いとか




  • docker exec 〜 だと container id が必要だけど、 docker-compose exec 〜 だと service 名だけで良い

  • laradock の nginx は、 php-fpmworkspace に依存設定されてるので、 php-fpm と workspace は個別で up する必要はない

  • 自作した Docker 環境ではスクリプトで phpMyAdmin 入れてた、そこもコンテナで良かったんや

  • 詰んでた箇所は laradock だろうが、fork した最小構成のやつだろうが一緒だった(結局)

  • 大体の問題は焦らずに Dockerfile とか docker-compose.yml とか設定ファイルを読めばわかる


laradock 使うにあたり、引っかかったところ


404 でアプリ画面が出ない



  • nginx/sites/laravel.conf.exsample -> nginx/sites/laravel.conf した後、キャッシュが残ったままになってた



    • docker-compose build --no-cache nginx で解決




workspace 内で php artisan migrate できない 1



  • createdb.sql.example -> create.sql を作ったユーザーが docker-compose up のとき生成されてなかった



    • rm -rf ~/.laradock/data/mysql してもっかい up したらいけた




workspace 内で php artisan migrate できない 2


phpMyAdmin のサーバって何?って一瞬なった


  • 立ち上がってるコンテナサービス名で問題なく通った


まだわかってないところ


  • PHPStorm から立ち上がってる db コンテナ内の mysql 参照


参考サイト