4.2. タグの有効期限

イメージは、tag expiration と呼ばれる機能を使用して、指定した日時に Red Hat Quay リポジトリーから期限切れになるように設定できます。ここでは、タグの有効期限について知っておきたいことをご紹介します。

  • タグの有効期限が切れると、そのタグはリポジトリーから削除されます。特定のイメージに対する最後のタグであれば、そのイメージは削除されるように設定されています。
  • 有効期限は、リポジトリー全体ではなく、タグごとに設定されます。
  • タグの有効期限が切れたり、削除されたりしても、すぐにはレジストリーから削除されません。(User 設定の) Time Machine の値は、削除されたタグが実際に削除され、ガベージコレクションされるタイミングを定義します。デフォルトでは、その値は 14 日です。それまでは、期限切れのイメージや削除されたイメージにタグを再度ピントすることができます。
  • Red Hat Quay のスーパーユーザーには、ユーザーリポジトリーからの期限切れイメージの削除に関する特別な権限はありません。スーパーユーザーがユーザーリポジトリーの情報を収集し、操作するための一元的なメカニズムはありません。有効期限や最終的なイメージ削除の管理は、各リポジトリーの所有者に委ねられています。

タグの有効期限はさまざまな方法で設定できます。

  • イメージの作成時に Dockerfile で quay.expires-after= LABEL を設定する方法。これは、イメージをビルドした時点からの有効期間を設定するものです。
  • リポジトリータグの EXPIRES 列から有効期限を選択し、有効期限の特定の日時を指定する方法。

次の図は、タグの有効期限を変更するための Options エントリーと、タグの有効期限を設定する EXPIRES フィールドを示しています。EXPIRES フィールドにカーソルを合わせると、現在設定されている有効期限の日時が表示されます。

Change tag expiration under the Options icon or from the EXPIRES column

4.2.1. Dockerfile からのタグの有効期限の設定

Dockerfile の LABEL コマンドで quay.expires-after=20h のようなラベルを追加すると、タグは指定された時間後に自動的に期限切れとなります。時間の値は、イメージがビルドされてからの時間、日、週をそれぞれ表す 1h2d3w のようになります。

4.2.2. リポジトリーからのタグの有効期限の設定

Repository Tag ページには、タグの有効期限を示す EXPIRES というタイトルの UI カラムがあります。ユーザーは、有効期限が切れる時間をクリックするか、右の Settings ボタン (歯車のアイコン) をクリックして Change Expiration を選択することで、これを設定できます。

プロンプトが表示されたら日付と時刻を選択し、Change Expiration を選択します。タグは、有効期限に達すると、リポジトリーから削除されるように設定されます。