Pull Rate Limit - CI/CD用語集の定義
pull rate limitは、クライアントが一定の時間ウィンドウ内で実行できるイメージのpull回数にregistryが設ける上限です。Docker Hubの匿名の上限が最も有名な例で、共有されNAT化されたrunnerのIPでCI buildが失敗する頻繁な原因になります。
表示されるエラー
上限に達すると、pullはtoomanyrequests: You have reached your pull rate limitで失敗します。多くのCI runnerが送信元IPを共有しているため、匿名のpullはすぐにクォータを使い切ります。
回避方法
pullを認証する(ログイン済みアカウントはより高い上限を得られます)、ベースイメージを自分のregistryにミラーまたはキャッシュする、あるいはpull-through cacheを使って、繰り返されるCI実行が毎回同じベースイメージをupstreamからpullしないようにします。
関連ガイド
Registry - CI/CD Glossary DefinitionRegistry: A registry is a server that stores and distributes container images (and other OCI artifacts) addre…
Base Image - CI/CD Glossary DefinitionA base image is the starting layer a Dockerfile builds on, set by the first FROM. Choosing a slim, trusted ba…
Image Layer - CI/CD Glossary DefinitionImage Layer: An image layer is one immutable, content-addressed filesystem change in a container image. Each…