公開 2026-04-02
`:latest` を使うのをやめよう
デプロイには `:latest` タグを使わないでください。
`latest` はバージョンではありません。動くラベルです。システムが動かす外部バージョンは、バージョン管理で定義すべきです。イメージが変わるなら、Compose ファイルも変わるべきです。
はい、手動でアップグレードするのは面倒なこともあります。それでもやる価値があります。バージョンを固定すれば、安定したデプロイ、予測可能なロールバック、明確なアップグレード手順が得られます。
それはツールを有用にもします。Renovate は、新しいイメージが存在していて、コードベースがまだ古いものを指していることを教えてくれます。固定したタグやダイジェストは検索できます。リポジトリを見て、次のような単純な質問に答えられます。何がデプロイされているのか、何が変わったのか、何をロールバックすべきなのか。
`:latest` では、その制御が失われます。コードベースからデプロイ済みバージョンを確実に追跡できません。古いイメージを簡単に監査できません。Docker Compose のデプロイが壊れてロールバックが必要になったとき、`:latest` は単純なバージョン問題を当て推量に変えてしまいます。
これはセルフホスティングでも当てはまります。むしろ特にそうです。まさにそこで、人は一番怠けたくなるからです。