laradockを使って開発するときのメモ
最近Laravelを触るようになったのであとで覚えておきたいことが結構出てきたのでメモ。
環境構築
laradockを使うのが一番早いし、楽。 gitをcloneし、env-exampleを.envにコピーし、docker-compose upをすれば良い。
利用する各サービスの設定
基本的にはlaradock/サービス名/Dockerfileにどのサービスが入るか?が書いてある。Verが全てlatestなので、最新を入れたくない場合は.envに指定する。
mysqlの設定
laradockのデフォルトのまま起動してしまうと、最新版のmysql8.0がはいる。で、8.0の場合デフォルトでuserとpasswordでのログインができなくなっているので、サクッと開発環境が欲しい場合は、.env内のMYSQL_VERSIONを変更しておく。 ちなみに、他の**_VERSIONの変数をいじることで対象のdockertagを変更することが可能(デフォルトはlatest)
mysqlへの接続
dockerにアタッチするか、外部からなら
mysql -uuser -ppass -h 127.0.0.1
で繋がる.
docker内のポートと外のポートは別と意識しておく。
apacheを使っている場合ヴァーチャルホストを設定することが多いと思うんだけど、外側のポートにvirtualHostを設定してしまって、うまく動かなくてハマったことがあった。docker内部でEXPOSEしているポートと、dockercomposeでリンクしているポートが違うことを意識しておくと良い。
workspace
composer、webpack、phpunitなど、開発時のツール群はworkspaceというdockerにまとまっている。基本的にはそこにアタッチして、php artisanなどのコマンドを使うようにする。
ファイルの追加、削除
なるべくworkspaceのdockerからartisanコマンド経由で作成をした方があとあと楽。
起動コマンド
これで、ローカルにlaravelと、mysqlとphpmyadminが立ち上がる。
docker-compose up -d workspace apache2 phpmyadmin mysql
今の所はこんな感じ。また出てきたらまとめていく。