同じDockerfileをビルドしても同じイメージになるとは限らない
まあいつの間にか開発環境のOSのバージョンが変わってて驚いたという話なんですけどね。
OSやソフトウェア、パッケージのバージョンを完全には固定できない。
そんなこともっと早くに気付けば良かった。
具体的には元になるイメージとして開発環境のDockerfileで元イメージにwordpress:php5.6を使ってたら、ある日Debian8系から9系になっていたと言う。
wordpress:php5.6の元イメージのphp:5.6の元イメージがdebian:stretch-slimに切り替わってしまったのが原因。チェインしてるぜ。
apt-getの結果が時々によって違うというのは分かっていたが、パッケージ名変わったりなくなっちゃったりするのは厳しい。
こういうダイナミックな切り替わりがあるとはこの海のリハクの目を以てしても云々。
ちょっとこれにより開発が混乱したので、メンバー各自が開発環境でDockerfileからビルドするのは余り良くないのかもと思い始めた。
DockerHubのリポジトリなどにイメージをアップして利用するのが手堅いのかな。それをDockerComposeから指定するとか。
または最新環境へのアップデートは必要なコストとして許容し、各自毎日のように新しいビルドをしてついていき、何か壊れたら最優先に直す、みたいなアグレッシブな運用も考えられるけど。
とりあえずは前者かな。
DockerHubのprivateリポジトリ、無料で作れるのは1個までなのでポンポン作るわけには行かないけど、仕事で使う分には月7ドルや12ドルくらいは払ってもいいのでは。
開発用のイメージくらいならprivateにするまでもないかもしれないが、何かの拍子にやらかしの種になりそうな気がするので、できればprivateにしておくのが無難に思える。