はじめに
途中参加したlaravelプロジェクトにDockerfileはあったものの、ローカル開発環境の構築手順やdocker-composeファイルがなく手探りで構築した際にハマったのでメモ
用意されていたもの
・GitHubとソースコード
・Dockerfile
問題発生
docker-compose.yamlだけ書けばいけるっしょ!そう思っていました。
無事コンテナを立ち上げたまでは良かったがコードを変更しても反映されない、、
なぜだ。。
docker-compose.yamlでアプリのvolumeとか書き忘れたのか確認するも問題なし
なんなら$ docker-compose down
してもう一度立ち上げたら反映されてるー
どっかキャッシュしてるんかな
あったー。ここだ、やられた。共有されたDockerfileローカル用に用意されたものじゃなかった。
結論
php.ini
[opcache]
# ここが原因 ここを0にしてcache無効にする
opcache.enable=1
docker-compose build --no-cache {service_name}
でphpのコンテナだけ再ビルドしてあとは普通に
docker-compose up
で無事即反映されるようになりました。