4.2. タグの有効期限
イメージは、タグの有効期限と呼ばれる機能を使用して、指定した日時に Red Hat Quay リポジトリから期限切れになるように設定できます。ここでは、タグの有効期限について知っておきたいことをご紹介します。
- タグの有効期限が切れると、そのタグはリポジトリから削除されます。特定のイメージに対する最後のタグであれば、そのイメージは削除されるように設定されています。
- 有効期限は、リポジトリ全体ではなく、タグごとに設定されます。
- タグの有効期限が切れたり、削除されたりしても、すぐにはレジストリから削除されません。(User設定の)Time Machineの値は、削除されたタグが実際に削除され、ガベージコレクションされるタイミングを定義します。デフォルトでは、その値は14日です。それまでは、期限切れのイメージや削除されたイメージにタグを再度ピントすることができます。
- Red Hat Quay のスーパーユーザーには、ユーザーリポジトリからの期限切れイメージの削除に関する特別な権限はありません。スーパーユーザーがユーザーリポジトリの情報を収集し、操作するための一元的なメカニズムはありません。有効期限や最終的なイメージ削除の管理は、各リポジトリの所有者に委ねられています。
タグの有効期限はさまざまな方法で設定できます。
-
イメージの作成時にDockerfileで
quay.expires-after=LABELを設定することで。これは、イメージをビルドした時点からの有効期間を設定するものです。 - リポジトリタグのEXPIRES列から有効期限を選択し、有効期限の特定の日時を指定することで。
次の図は、タグの有効期限を変更するためのOptionsエントリと、タグの有効期限を設定するEXPIRESフィールドを示しています。EXPIRESフィールドにカーソルを合わせると、現在設定されている有効期限の日時が表示されます。
4.2.1. Dockerfileからのタグの有効期限の設定
DockerfileのLABELコマンドでquay.expires-after=20hのようなラベルを追加すると、タグは指定された時間後に自動的に期限切れとなります。時間の値は、イメージがビルドされてからの時間、日、週をそれぞれ表す1h、2d、3wのようになります。