Skip to content
Latchkey

Docker Hub とは?デフォルトのパブリックレジストリ

Docker Hub は Docker がデフォルトで pull するレジストリです - 公式イメージ、コミュニティイメージ、そしてあなた自身のパブリックまたはプライベートなリポジトリの本拠地です。

レジストリを指定せずに docker pull ubuntu を実行すると、Docker は Docker Hub から取得します。これは最大のパブリックなコンテナイメージのカタログであり、非修飾名の docker push のデフォルトの宛先です。CI にとっては、そのレート制限と pull するイメージの信頼レベルの両方が重要です。

公式イメージとコミュニティイメージ

公式イメージ(ubuntunodepostgres)は Docker の関与のもとで管理・保守されています。コミュニティイメージは username の下に存在します(someuser/app)。公式イメージがより安全なデフォルトです。コミュニティイメージに依存する前には吟味しましょう。

暗黙のデフォルト

redis:7 のような非修飾の参照は docker.io/library/redis:7 に展開されます。その利便性は同時に落とし穴でもあります - 意外な事態を避けるため、本番や CI ではレジストリを明示しましょう。

レート制限

Docker Hub は匿名および無料枠の pull を時間枠ごとに制限します。頻繁に pull する CI フリートは 429 Too Many Requests に達し、不安定な失敗を引き起こすことがあります。認証やイメージのミラーリングがこれを軽減します。

CI における緩和策

  • pull を認証して上限を引き上げる。
  • ベースイメージを runner のより近くにミラーまたはキャッシュする。
  • pull が予測可能になるよう、タグと digest を pin する。

Docker Hub とマネージド runner

レート制限と一時的な pull エラーは CI の不安定さの典型的な原因です。マネージド runner(Latchkey)は一般的なベースイメージをキャッシュし、レジストリの不調を自動でリトライするため、Docker Hub のしゃっくりが build を失敗させることはありません。

重要なポイント

  • Docker Hub は非修飾のイメージ名に対するデフォルトのレジストリです。
  • 公式イメージを優先し、コミュニティのものは吟味しましょう。
  • pull のレート制限は CI の不安定さを引き起こします - 認証、キャッシュ、またはミラーを。

関連ガイド