第41回 「ホステッドレジストリ」を知る――NASAも使っているDockerイメージ管理:古賀政純の「攻めのITのためのDocker塾」(2/3 ページ)
今回からは、Dockerイメージの管理サービスについて紹介していきます。NASAのジェット推進研究所でも利用されているDockerイメージの管理サービスを例に、具体的な操作方法も披露します。
NASAやeBayも利用するDockerレジストリ
インターネットを経由して利用するDockerレジストリは、Docker社が提供しているDocker Hub以外にも、多様なベンダーのものが存在します。Docker Hub以外のDockerレジストリとしては、CoreOS(コアオーエス)が提供する「Quay.io」などが有名です。Quay.ioは、NASAのジェット推進研究所(JPL)や、インターネットオークションを手掛ける米eBayなどが利用しています。Quay.ioは、Webブラウザを使ってDockerfileをアップロードすると、内蔵されている自動構築ツールにより、自動的にDockerイメージをビルドする機能などを提供しています。Docker Hub同様に、Quay.ioでも、パブリックリポジトリとプライベートリポジトリの両方が提供されています。
Docker Hubは、Docker社がイメージ管理の仕組みを提供していますが、Quay.ioは、CoreOSが、同様の仕組みを提供しています。このように、Docker社やCoreOSなどのベンダーが提供するDockerイメージの管理サービスは、「ホステッドレジストリ」と呼ばれます。Dockerにおける「ホステッド」は、ベンダーが提供するという意味合いで使われています。
ホステッドレジストリの検討項目
Dockerレジストリは、Dockerエンジンが稼働する手元のマシン上から「docker pull」コマンドを使ってDockerイメージが保管されているリポジトリに接続できるようにするサービスです。 Dockerイメージの入手やリポジトリへのアップロードを実現する方法として一番簡単なものは、インターネットを経由するホステッドレジストリを使用することです。
では、ホステッドレジストリを導入するに当たって、どのようなことを検討すればよいのでしょうか。以下では、ホストテッドレジストリの利用を検討する場合の、項目をいくつか紹介します。
利用するリポジトリ数とディスク容量
一般に、利用可能なリポジトリの数やディスク容量が増えると、プライベートリポジトリにかかる費用も増大します。例えば、数個のリポジトリを使うといった小規模な利用の場合、1人当たり月額数ドル(数百円)程度で済むサービスも存在しますが、リポジトリの数が増えると、月額数十ドル(数千円)から数百ドル(数万円)単位になることもあるため、リポジトリの利用数、ディスク容量などによって、クラウドサービスによるホステッドレジストリを使うのか、社内に設置したプライベートレジストリを利用するのかを検討する必要があります。以下にDocker HubとQuay.ioの料金表のURLを掲載しておきます。
Docker HubとQuay.ioの料金
Docker Hub料金表:https://hub.docker.com/billing-plans/
Quay.io料金表:https://quay.io/plans/
これらのURLに記載されている料金表から、利用期間と人数、使用するリポジトリの数などを選び、必要な費用を算出します。また、その費用に見合う必要な機能を有しているかどうかも検討する必要があります。
意外と重要な転送スピードと転送データのサイズ
Docker Hubのようなホストテッドレジストリの環境においては、docker pullコマンドを使ってDockerイメージを高速に転送する仕組みが内蔵されていますが、利用者の地理的な条件、データセンターや、利用しているサービスプロバイダーで契約している帯域幅などから、Dockerイメージの転送速度を実測することをお勧めします。Docker Cloud、Quay.io、gcr.ioなどで転送速度や使い勝手、実績などを比較検討してみるとよいでしょう。
関連記事
- 古賀政純の「攻めのITのためのDocker塾」
- 第37回 Dockerでソフトウェア定義型ネットワーキングツール「pipework」を活用する
前回まで、3回に渡ってOpenStackでも利用されているソフトウェア定義型ネットワーキングを実現するOpen vSwitch(OVS)とovs-dockerを使ってホストOSとコンテナを同一LANセグメントに所属させ、マルチホストのコンテナ間通信を実現しました。今回は、Docker基盤で古くから利用されている「pipework」を使ったネットワーキングをご紹介します。 - 第38回 pipeworkでDockerコンテナに固定IPアドレスを付与する(構築編その1)
ソフトウェア定義型ネットワークを実現する「pipework」のコンテナを実際に使って、ホストOSとDockerコンテナを同一LANセグメントに所属させることで、マルチホストのコンテナ間通信を行う手順を解説します。 - 第39回 DHCPとpipeworkでDockerコンテナに動的IPアドレスを付与する(構築編その2)
Open vSwitch(OVS)を構築したホストOS上で、ソフトウェア定義型ネットワークを実現する「pipework」を利用し、DHCPクライアントの機能を使って、Dockerコンテナに動的にIPアドレスを割り当てる手順を紹介します。 - 第40回 pipeworkでDockerコンテナの送信帯域幅制御を行う(構築編その3)
今回は、ソフトウェア定義型ネットワークを実現する「pipework」を使って、Dockerコンテナのネットワーク帯域幅を制御する具体的な手順をご紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.