Lesstep
GitHub Actions・Docker Hub・2026年11月3日に確認

GitHub Actions:「You have reached your unauthenticated pull rate limit」

ランナーのアドレスからの匿名の取得が多すぎたので、Docker Hub がイメージを渡すのを断りました。GitHub Actions に特有なのは、取得がどこで起きるかです。services:・container:・Docker のアクションのイメージは最初のステップより前に取得されるので、docker/login-action のステップはそれらには何もしません。ワークフローそのものに認証情報を書くか、同じイメージをほかのレジストリから取ります。

見え方

Error response from daemon: toomanyrequests: You have reached your unauthenticated pull rate limit.
##[error]Docker pull failed with exit code 1

何回まで取得できるか

Docker のドキュメントでは、6時間あたり、匿名の取得は IPv4 のアドレスか IPv6 の /64 のサブネットごとに100回、Docker Personal のアカウントは200回、Pro・Team・Business は上限なしです。2026年11月3日に匿名で確かめたとき、Docker Hub が返したヘッダーは ratelimit-limit: 100;w=3600、つまり1時間に100回でした。Docker のドキュメントは、外部のプラットフォームが同じアドレスで多くの利用者の取得をすることがあるとも書いていて、homeboy の報告は失敗の原因をランナーどうしでアドレスを分け合っていることに置いています。ジョブの中から数を見るには、取得に数えられない HEAD のリクエストを使います:

- run: |
    TOKEN=$(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
    curl -s --head -H "Authorization: Bearer $TOKEN" \
      https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest | grep -i ratelimit

1. それぞれの取得がどこで起きるか

2. 効く場所でログインする

jobs:
  test:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: postgres:16
        credentials:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
    steps:
      - uses: docker/login-action@v4
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      - run: docker compose up -d

3. 同じイメージをほかのレジストリから取る

上の2つの公開の写しは、2026年11月3日に postgres:16 を返しました。イメージをダイジェストで固定しているなら、写しのダイジェストが同じかを確かめます。

見分け方

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べ、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

GitHub・GitHub Actions は GitHub, Inc. の商標、Docker・Docker Hub は Docker, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・Docker, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:ghcr.io の「permission_denied: write_package」 · 「detected dubious ownership」 · 「No space left on device」 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English