6 ポイント 投稿者 GN⁺ 2025-02-22 | 7件のコメント | WhatsAppで共有
  • 2025年4月1日から、Pro、Team、Businessの購読者は公正利用の原則(Fair Use)の範囲内で無制限にプル可能
  • 未認証ユーザーとDocker Personalユーザーには厳しい制限が適用される
    • 未認証ユーザー: 1時間あたりPull 10回(IPv4アドレスまたはIPv6 /64サブネット)
    • 無料アカウントの認証済みユーザー(Personal): 1時間あたりPull 100回
  • 公正利用(Fair Use)
    • Docker Hubは過度なデータ転送、イメージのプル速度、データ保存量を制限できる
    • サービス品質を維持するため、過度な利用を検知すると制限を適用したり追加料金を課したりする場合がある

悪用制限

  • Docker Hubはアプリケーションとインフラを保護するために悪用制限を設定している。
  • この制限は、Webページ、API、イメージPullを含むすべてのHubリクエストに適用される。
  • 制限はIPv4アドレスまたはIPv6 /64サブネットごとに適用され、負荷やその他の要因に応じて時間の経過とともに変化するが、毎分数千件のリクエスト水準となっている。
  • 悪用制限は、アカウントレベルに関係なくすべてのユーザーに同じように適用される。
  • Pull rate制限と悪用制限はエラーコードで区別できる。悪用制限は429 Too Many Requestsレスポンスを返し、Pull制限はドキュメントリンクを含むより長いエラーメッセージを返す。

7件のコメント

 
wyatt216 2025-02-23

(変更)

  • 非ログイン: 10/1h
  • ログイン(無料アカウント): 100/1h

(従来)

  • 非ログイン: 100/6h
  • ログイン(無料アカウント): 200/6h

個人的には、
いくつかのバージョンでは Docker のインストール過程でログインを強制するものもあったと記憶しているので、
Docker アカウントの作成を促す性格もあるように思います

 
wyatt216 2025-02-24

あ、ここでのDockerバージョンはDocker Desktopです

 
iolothebard 2025-02-23

Dockerレジストリのプロキシ&キャッシュソリューションが必須になりそうですね

 
nemorize 2025-02-23

これまで制限がなかったことのほうがむしろ不思議ではあるのですが……それでも1時間あたり10回は少なすぎますね。
特に、参照するイメージが10個を超える docker-compose の構成は、認証なしでは使えなくなってしまうのがかなり残念です。(例えば、supabase は合計12個のイメージを参照します。)

 
wyatt216 2025-02-23

従来は

  • 未ログイン: 100/6時間
  • ログイン(無料アカウント): 200/6時間

という制限があったと記憶しています

 
nemorize 2025-02-23

へえ? もともと制限があったんですね(笑)

10/1h の代わりに 60/6h、30/3h 程度の制限にしてくれていれば、もう少し残念さも少なかった気がしますが、ほかのコメントでおっしゃっていた通り、アカウント作成を促す目的がかなり大きいように思えます…

 
GN⁺ 2025-02-22
Hacker Newsのコメント
  • このスレッドでの権利意識には驚く。人々は帯域幅が木に生るとでも思っているようだ

    • 個人利用では、マンションの高層住宅に住んでいない限り、学習や趣味目的でDockerを使うのはマーケティングコストと見なせる
    • オフィスで商用目的にレジストリを使うなら、依存関係を維持するためのコストを支払うべきだ
    • 発電所が電気を無料で供給しないのと同じように、営利企業がコンテナを無料で提供すると期待すべきではない
  • ociイメージのレイヤーベースのキャッシュシステムは帯域幅効率が非常に悪い

    • 下位レイヤーの変更が上位レイヤーを無効化する
    • nixやbazelのようなキャッシュ戦略があれば、git SHAを送って相手側でイメージをビルドするほうが速いかもしれない
  • OSSイメージをホスティングしているのに、変更に関する告知がない

    • アクセスが制限されるなら、DockerとDocker Hubの普及を牽引したプロジェクトに対する恩恵と動機が失われるだろう
    • ユーザーを把握し、そこから価値を引き出そうとするのは彼らの権利だが、善意には見えない
  • Dockerクライアントに「デフォルトレジストリを上書きする」オプションを追加しようとする試みがあった

    • upstreamでこれがブロックされた
    • この小さな機能のためのforkは長い間遅れている
  • Dockerについて理解できない点がある

    • ベースイメージには信頼できるソースとしての役割がある
    • PaaSを使う場合、Dockerイメージをアップロードして保存・配布できるべきだ
    • Dockerイメージをホスティングするために費用を支払わなければならない理由がわからない
  • 個人利用とオープンソースに不利だ

    • Docker Hubに依存している人向けのいくつかの解決策の提案
      • Google Artifact Registryを使ってプルスルーミラーを設定する
      • プライベートイメージ用にプライベートなプルスルーイメージレジストリを設定する
      • DockerでIP許可リストに追加する
      • 透過的なDocker Hubミラーを設定する
  • GitHub文化はCIのようなもののせいで少しおかしくなっている

    • プロジェクトがサーバー費用を負担できないなら、ローカルのシェルスクリプトとprecommitフックを使うほうがよい
  • GitHub Actionsにはよくない

    • PRが失敗する可能性があり、ワークフローでDocker認証情報をサポートするのが難しい
  • GHAの設定中にAWS ECR Galleryへ移行した

    • ブログ記事で詳しく説明している
  • ネットワークに設定できるソリューションがある

    • 公開設定にして共有することもできる