前置き
いよいよ DockerHub の Download Rate Limit が始まりましたね。この制限は徐々に導入していくとありますが、さてどんな状況でしょうか?
(この記事は 11/1 に書いています)
特に懸念されていたのは CI サービスでの制限です。
DockerHub にログインしていない場合は IP に対して制限がかかるため、利用者の多いサービスではあっという間に上限越えて、制限がかかってしまうことが予想されました。
これに対し、すでに(期限付きではありますが)制限を受けないようにする交渉が完了しているサービスもあります。
DockerHub による2020/11からのコンテナイメージ Pull 回数制限のCircleCIへの影響 - Build Environment - CircleCI Discuss
ある程度猶予があるかもしれないですが…
何れにせよ、今後 DockerHub からイメージを pull して CI を回す場合は、事前に DockerHub へのログインをするようにパイプラインを更新しておくのが良さそうです。
それらへの対応方法についても、記事冒頭のドキュメントからリンクが貼られていたり、各 CI サービスから案内が出ていると思います。
筆者が開発している C++ テスティングフレームワークの iutest はめちゃくちゃたくさん CI サービスを使っているので(Docker 関係ないものもあるので全部ではないが)絶賛対応中です。
対応方法はログインするだけなんですが、各サービスやり方が異なるのでここでは対応方法は省略します。
一応、状況はこちらの issue で確認できます。
https://github.com/srz-zumix/iutest/issues/519
https://t.co/E8DUTOMi4M
— ずみっくす@あつまれCIサービス (@srz_zumix) October 23, 2020
DockerHub の pull 制限回避のためのログイン対応中。
CI サービス多用してるので大変(docker 使ってないものも多いけど)
CircleCI みたいに延命されると嬉しいなぁ・・ pic.twitter.com/UnQaIeY9ih
Docker login しているか確かめる方法
で、ようやく本題。
このログイン対応をしていて思ったのは、「設定したけど本当にログインした状態で pull できているのかをどう確認したらわからなくて不安」でした。
docker login してるかどうか確認するコマンドってない?
— ずみっくす@あつまれCIサービス (@srz_zumix) October 29, 2020
docker のコマンドに「それ」を確認するものがあればよかったのですが、なさそうだったので以下の方法で確認しました。
「echo a | docker login」
ログイン済みなら以下のように成功となります。
$ echo a | docker login Authenticating with existing credentials... Login Succeeded $ echo $? 0
$ echo a | docker login Error: Cannot perform an interactive login from a non TTY device $ echo $? 1
0 件のコメント:
コメントを投稿