Dockerのイメージが反映されない時

プログラミング勉強

今更って感じですが、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案件を保守できる人が減ってるような状況らしいですねえ。

タイトルとURLをコピーしました