CI 向け GHCR vs Docker Hub: rate limit、認証、速度
Docker Hub の rate limit は CI の不安定さの主因の 1 つです - GHCR はトレードオフを変えます。
どちらもコンテナイメージを保存します。rate limit、認証、GitHub Actions との統合の緊密さが異なります。
| Docker Hub | GHCR | |
|---|---|---|
| rate limit | 匿名 pull には厳格 | GitHub の認証に紐づく |
| Actions での認証 | 手動ログイン | GITHUB_TOKEN 組み込み |
| 最適な用途 | 公開ベースイメージ | 自分のイメージ + GitHub workflow |
CI では
組み込みの GITHUB_TOKEN で GHCR 経由に自分のイメージを push/pull すれば、Docker Hub の匿名 pull rate limit (お馴染みの toomanyrequests 失敗) を回避できます。公開ベースイメージには、Docker Hub に認証するかミラーしてください。
結論
自分のイメージは GHCR に保存して Actions の認証をシームレスに。Docker Hub のベースイメージは認証するかミラーして rate limit を回避しましょう。
関連ガイド
Docker "toomanyrequests: rate limit exceeded" - Fix Docker Hub Pull LimitsFix Docker Hub "toomanyrequests: You have reached your pull rate limit" in CI by authenticating, caching imag…
Is Docker Hub Down? How to Check and Keep Your CI GreenCheck if Docker Hub is down and stop it from failing your CI. How to read the status page, confirm it is an o…
How to Cache Docker Layers in GitHub ActionsSpeed up Docker builds in GitHub Actions with BuildKit registry cache - cache-from/cache-to, gha cache backen…