イメージの管理

Docker エンジンにあるクライアントを使い、コマンドライン上でイメージの作成や、構築プロセスに渡すことができます。これらのイメージをコンテナで使ったり、他人が使えるように公開も可能です。作成したイメージの保管や、使いたいイメージの検索、あるいは、他人が公開しているのを使いたい場合、これらは全てイメージ管理に分離されます。

このセクションでは、イメージ管理に関する Docker の主な機能概要や、ツールについて扱います。

Docker Hub

Docker Hub が持っている役割は、ユーザ・アカウント、イメージ、パブリック名前空間などに関する情報の集約です。

  • ウェブ UI
  • メタ・データの保管(コメント、スター数、公開レポジトリの一覧)
  • 認証サービス
  • トークン化

Docker 社によって運用・管理されているのは Docker Hub だけです。この公開 Hub は、ほとんどの個人や小さな会社にとって便利です。

Docker レジストリと Docker トラステッド・レジストリ

Docker レジストリは Docker エコシステムのコンポーネント(構成要素)です。レジストリは保管とコンテント(content; 内容)の配送システムであり、Docker イメージの名前を保持し、異なったタグのバージョンを利用できます。例えば、イメージ distribution/registry は、タグ 2.0latest を持っています。ユーザは docker pull myregistry.com/stevvooe/batman:voice のような docker push (送信)と pull (取得)コマンドを使い、レジストリと接続します。

Docker Hub はハブのように自身のレジストリを持ち、Docker 社によって運用・管理されています。しかしながら、レジストリを得るには別の方法があります。 Docker トラステッド・レジストリ(Trusted Registry) プロダクトを購入すると、自社ネットワーク上で実行できるようになります。あるいは、Docker レジストリのコンポーネントを使い、プライベート・レジストリを構築することもできます。レジストリの使い方についての情報は、 Docker レジストリ をご覧ください。

コンテント・トラスト

ネットワーク・システム上でデータを転送するときは、 信頼性 が懸念事項の中心です。特にインターネットのような信頼できない環境を経由する時、とりわけ重要なのが、システムが操作する全てのデータの安全性と提供者を保証することです。Docker を使い、イメージ(データ)をレポジトリに送信・受信できます。コンテント・トラストは、レジストリがどの経路をたどっても、全てのデータの安全性と提供者の両方を保証するものです。

コンテント・トラスト(Content Trust) は、現時点ではパブリックな Docker Hub の利用者だけが使えます。現時点では Docker トラステッド・レジストリやプライベート・レジストリでは利用できません。