正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

コンテナイメージの依存プロキシストレージを削減する

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

blobの自動削除処理はありません。手動で削除しない限り、無期限に保存されます。このページでは、キャッシュから未使用のアイテムをクリアするためのいくつかのオプションについて説明します。

依存プロキシストレージの使用状況を確認する

使用量クォータページには、コンテナイメージの依存プロキシのストレージ使用量が表示されます。

APIを使用してキャッシュをクリアする

不要になったイメージblobで使用されているディスク領域を再利用するには、dependency proxy APIを使用して、全体のキャッシュをクリアします。キャッシュをクリアすると、次回のパイプライン実行時に、Docker Hubからイメージまたはタグをプルする必要があります。

クリーンアップポリシー

GitLab内からクリーンアップポリシーを有効にする

ユーザーインターフェースからコンテナイメージの依存プロキシに自動Time-To-Live(TTL)ポリシーを有効にできます。これを行うには、グループの設定 > パッケージとレジストリ > 依存プロキシに移動し、90日後にキャッシュからアイテムを自動的にクリアする設定を有効にします。

GraphQLでクリーンアップポリシーを有効にする

クリーンアップポリシーは、使用されなくなったキャッシュされたイメージをクリアするために使用できるスケジュールされたジョブであり、追加のストレージ領域を解放します。このポリシーは、Time-To-Live(TTL)ロジックを使用します:

  • 日数が設定されます。
  • それほど日数がプルされていない、キャッシュされたすべての依存プロキシファイルが削除されます。

クリーンアップポリシーを有効化および構成するには、GraphQL APIを使用します:

mutation {
  updateDependencyProxyImageTtlGroupPolicy(input:
    {
      groupPath: "<your-full-group-path>",
      enabled: true,
      ttl: 90
    }
  ) {
    dependencyProxyImageTtlPolicy {
      enabled
      ttl
    }
    errors
  }
}

GraphQLクエリを作成する方法については、GraphQLの使用を開始するガイドを参照してください。

ポリシーが最初に有効になったとき、デフォルトのTTL設定は90日です。有効にすると、古くなった依存プロキシファイルは、毎日削除のためにキューに入れられます。処理時間のため、削除がすぐに行われない場合があります。キャッシュされたファイルが期限切れとしてマークされた後にイメージがプルされた場合、期限切れのファイルは無視され、外部レジストリから新しいファイルがダウンロードされてキャッシュされます。