今更って感じですが、Docker環境を1から作っていたら、Dockerのイメージが更新されず、解決に無駄な時間が掛かってしまったので、解決方法を書いておきます。
PHPのバージョン更新が反映されず
イメージのPHPのバージョンが7.3だったので、8.1にバージョンアップしようと、以下のように設定ファイルを書き換えました。
FROM php:8.1.9-fpm
しかし、コンテナを以下コマンドで実行したところ
docker compose up
PHPのバージョンが7.3のままでした。
更新反映にはキャッシュ削除が必要
考えて見たら、いままでDockerは仕事で使っているものの、自分で1から構築した事がなかったので、コンテナ起動については脳死状態で、上記コマンドを使って起動していました。
が、最初の起動でBuildしており、以降はキャッシュを読んでいるという事を意識しておらずでした。
なのでちゃんと設定を読み込んでBuildしたうえで起動するようにします。
docker compose build --no-cache
上記コマンドでBuildしたうえで、改めてupコマンドでコンテナ起動したら無事にPHPがバージョンアップできました!
なお、upコマンドに –buildを付けるとbuildも一緒にやるようですが、そこに更にno cacheはできないようなので、no cacheでbuildしたいときは、buildとupを分けてやらないといけないっぽいです。
終わりに
そもそもなんでこんなことをやってるのかというと、ここのところRubyとかGoが多かったのですが、PHPを触るかもしれないので、お勉強やら実験のため、最新バージョンのPHP+Laravel+MySQLをDockerで環境作りたいなぁと思ったためでした。
そのあたり、設定メモなどをちゃんと別記事でまとめようかなと思います。たぶん。
よくオワコンと言われるPHPですが、なんだかんだ未だシェアは大きくて、しかも元々PHPerだった人が、別言語に鞍替えするなどでPHPerが減っており、PHP案件を保守できる人が減ってるような状況らしいですねえ。