Docker Hub 概要¶
Docker Hub はクラウド上のレジストリ・サービスであり、アプリケーションやサービス・コンテナの構築と配信を行います。コンテナ化されたイメージを見つけたり、配布したり、変更の管理、ユーザやチームのコラボレーション、開発パイプラインを通したワークフローの自動化といった集約されたリソースを提供します。
具体的には、 Docker Hub は以下の主要な特徴や機能を持ちます。
- イメージ・リポジトリ :イメージを検索・管理・取得・送信します。イメージはコミュニティ、公式、あるいはプライベートの各イメージ・ライブラリにあります。
- 自動構築(Automated Builds) :GitHub か Bitbucket リポジトリ上のソースコードに変更を加えると、新しいイメージを自動的に構築します。
- ウェブ・フック(Webhooks) :自動構築機能でリポジトリに送信された後、Webhook が何らかのアクションを起こします。
- 組織 :イメージ・リポジトリにアクセスできるユーザを管理するための、ワーク・グループを作成します。
- GitHub と Bitbucket 統合。Docker Hub と Docker イメージを、現在のワークフローに追加します。
Docker Hub アカウントの作成¶
Docker Hub を見て回る前に、 自分用 Docker Hub アカウント の指示に従いアカウントを作成する必要があります。アカウントを作成すると、Docker Hub 上のプライベート・リポジトリの1つが無料で使えます。更に多くのプライベート・リポジトリが必要であれば、無料プランを支払いプランに変更できます。詳細を知りたい場合は、Docker Hub にログインし、設定メニュー(右上の歯車アイコン)から Billing & Plans(英語) のページをご覧ください。
Docker イメージ・リポジトリの働き¶
Docker Hub は、あなたとあなたのチームに Docker イメージの構築(build)と配信(ship)する場所を提供します。
Docker Hub リポジトリでは2つの設定ができます。
- リポジトリ は、自分のローカルの Docker デーモンから Docker Hub にイメージを送信できるようにします。そして、
- 自動構築 は、GitHub か Bitbucket に作られたリポジトリに変更が発生したら、Docker Hub 上でリポジトリを再構築します。
Docker Hub 上の誰もがアクセス可能なパブリック・リポジトリの作成だけでなく、アクセスを限定したプライベート・リポジトリも作成可能です。
Docker コマンドと Docker Hub¶
Docker 自身で Docker Hub サーバにアクセスするために、 `docker search
、 pull
、login
、 push
コマンドを経由します。
リポジトリの探索¶
公開リポジトリと Docker Hub で利用可能なイメージを検索するには、2つの方法があります。Docker Hub ウェブサイト上の「search」(検索)を使うか、Docker コマンドライン・ツールで docker search
を使い、全てのリポジトリとイメージを検索します。
$ docker search ubuntu
どちらも Docker Hub 上の公開リポジトリで利用可能なものから、キーワードに一致するものを一覧表示します。
プライベート・リポジトリにあるものは、検索結果のリポジトリに表示されません。自分のアクセス権限がある全リポジトリを表示するには、 Docker Hub の「Dashboard」(ダッシュボード)をご覧ください。
Docker イメージの動作に関する詳細情報は、 Docker ユーザガイド をご覧ください。
公式リポジトリを使う¶
Docker Hub には多くの 公式リポジトリ があります。これらはベンダやコントリビュータ(貢献者)によって公開されているものであり、Docker 社によって認証されています。Docker イメージのベンダには Canonical、Oracle、Red Hat が含まれており、これらを基盤に自分のアプリケーションやサービスを構築できます。
公式リポジトリには、専門家の力によって最適化された最新のイメージが使われており、これを自分のアプリケーションに活用できます。
注釈
あなたの組織やプロダクトが公式リポジトリに貢献したい場合は、 Docker Hub の公式リポジトリ に関する詳しい情報をご覧ください。
組織を作る¶
Docker Hub アカウント 作成の方法 、組織やチームでの 管理 の仕方を学びます。
参考
- Overview of Docker Hub
- https://docs.docker.com/docker-hub/overview/