GitHub Actionsユーザーは今すぐDocker Hubのpull回数制限に備えよう
2021/06/19 追記
こちらのissueへのコメントの通り、本対応は不要になりました。この記事の情報は古いです。
発生する問題
2020年11月より、Docker Hubがログインしていないユーザーに対してPullの回数を制限します。というか、すでに段階的に始まっています。
GitHub Actionsについても、
toomanyrequests: Too Many Requests. Please see https://docs.docker.com/docker-hub/download-rate-limit/
というエラーでDockerイメージのpullに失敗し、ワークフローがエラーになりそうです(私はまだエラーになったことがない)
※ IPアドレスでのrate-limitのため、自分のpull回数に関わらずエラーが起こりえます。
対応策
公式アナウンス(英語)で紹介されている通り、docker/login-actionを使ってみましょう。
対応後のyaml
jobs:
HogeHogeJob:
name: HogeHogeJob
runs-on: ubuntu-latest
steps:
# この5行を追加する
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# あとは今まで通りで良い
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: 3.7
DOCKERHUB_USERNAME
とDOCKERHUB_TOKEN
は、あらかじめsecretsとしてGitHubに登録しておきましょう(公式Doc)
注意点として、DOCKERHUB_TOKEN
にはパスワードではなくAccess Tokenを使うことが推奨されています。パスワードでも動きますが、ちゃんとAccess Tokenを発行しましょう。
Access Tokenの発行方法
-
https://hub.docker.com/ にログイン
- 右上のユーザー名から Account Settings
- Security -> New Access Token -> あとは流れに乗る
発行されたAccess TokenをDOCKERHUB_TOKEN
として登録すれば完了。docker/login-actionでログインできるようになります。
Author And Source
この問題について(GitHub Actionsユーザーは今すぐDocker Hubのpull回数制限に備えよう), 我々は、より多くの情報をここで見つけました https://qiita.com/tippy/items/2972b01ff484616bf6ed著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .