Skip to content
Latchkey

イメージタグとは?イメージの命名とバージョン管理

イメージタグはリポジトリ上の読みやすいラベルです - myapp:1.4 - 特定のイメージを指しますが、後で別のものを指すよう動かすこともできます。

タグは人間がイメージを参照する方法です。完全な参照はリポジトリとタグを組み合わせたもので、ghcr.io/acme/web:1.4 のようになります。タグは単なる可動なポインタなので、あなたのタグ付け戦略が deploy の予測可能性と追跡可能性をさりげなく左右します。

参照の構造

参照は [registry/]repository:tag です。タグを省略すると、Docker は latest を想定します。タグはリポジトリ上のラベルであり、イメージ内容の一部ではありません - だからこそ指し先を変えられるのです。

latest の問題

latest は単なる慣習的なタグであり「最新」ではありません - 最後に push された場所を指します。それに依存すると deploy が再現不可能になります。なぜなら latest の背後にあるビットは予告なく変わり得るからです。

タグ付け戦略

  • リリースにはセマンティックバージョン(1.4.0)。
  • commit への正確な追跡のために Git SHA タグ(sha-abc123)。
  • リリースへの可動なポインタとして環境タグ(stagingprod)。

タグと digest

タグは便利ですが可変で、digest は不変です。一般的なパターンは、人間向けにタグ付けし、保証のために digest で deploy することです。

CI におけるタグ付け

pipeline は通常、各 build にバージョンと commit SHA の両方でタグ付けし、push します。SHA タグは実行中のイメージを正確なコードに結びつけるため、deploy をデバッグするときに計り知れない価値があります。

重要なポイント

  • タグはリポジトリ上の可動で人間可読なラベルです。
  • latest は「最後に push されたもの」を意味し「最新」ではありません - それに依存しないようにしましょう。
  • 追跡可能性のため、リリースにはバージョンと commit SHA でタグ付けしましょう。

関連ガイド