コンテナレジストリ(Lab)

[更新: 2020年2月13日]

概要

重要

「コンテナレジストリ(Lab)」は現在 Labプロダクト として提供しているため、サービス提供条件やサポートなどが通常のサービスと異なります。詳しくは Labプロダクト のページを参照ください。

「コンテナレジストリ(Lab)」はDockerなどのコンテナエンジンが扱うイメージファイルを保管するレジストリ機能をさくらのクラウド上で提供するサービスです。コントロールパネルからレジストリの作成・管理を行うことが可能で、誰でも読み込みが可能となる公開設定にしたり、自分専用のイメージ保管用として利用する場合に便利な非公開設定など、利用方法に応じたアクセスレベル設定を行うことができます。

料金

Labプロダクト提供期間中は無償でご利用いただけます。

利用手順

以下の手順で作成・設定を行います。

レジストリの作成

コンテナレジストリは現在Labプロダクトとして提供されているため、コントロールパネル左側のメニュー「LAB」カテゴリ内にあります。この中の「コンテナレジストリ」を選択します。

container-registry-01.png

作成済みのリポジトリがある場合はメイン画面内にリスト表示されます。新規に作成する場合は「追加」ボタンをクリックします。

container-registry-02.png

ゾーン新規作成画面が表示されるので、必要な項目を選択・入力します。入力後、画面右上または右下の「作成」ボタンをクリックすることで作成作業が開始されます

container-registry-03.png

新規作成フォーム内の各項目の説明は以下の通りです。

名前 コンテナレジストリに分かりやすい名前を付与することができます。
コンテナレジストリ名(*) コンテナレジストリ名を入力します。
※コンテナレジストリの接続先は sakuracr.jp のサブドメイン形式となり、他ユーザが作成済みの名前は使用できません。
※コンテナレジストリ作成後は変更することはできません。
独自ドメイン コンテナレジストリ接続先の別名として独自ドメインを使用する場合に入力します。
※本機能をご利用時はコンテナレジストリ接続先にCNAMEを設定する必要があります
 例: レジストリ名 example.sakuracr.jp を registry.example.jp に設定する場合の example.jpゾーン追加レコード
 registry IN CNAME example.sakuracr.jp.
※コンテナレジストリ作成後に変更することが可能です
※CNAMEレコードを設定しただけでは機能しないため、独自ドメインを変更した場合は本設定も更新する必要があります
公開設定(*) コンテナレジストリの公開範囲を設定します。
Push & Pull : PushおよびPullが認証無しに誰でも行えます。
Pullのみ : Pullのみ認証なしに誰でも行えます。Pushでは設定したユーザのみ行えます。
非公開 : PushもPullもユーザ認証が必要となる非公開コンテナレジストリとなります。
※権限は作成後にいつでも別の権限に変更することが可能です
説明 / タグ / アイコン サーバやディスク、他のアプライアンスと同様に、 タグアイコン 機能による分類が可能です。

(*)は必須項目です

作成が完了すると作成済みコンテナレジストリ一覧画面に作成したリポジトリが追加されます。一覧画面では各リポジトリをダブルクリックすることでリポジトリ詳細画面が表示されます。

container-registry-04.png

また、コンテナレジストリを削除する場合は、リスト画面で削除したいコンテナレジストリの左側のチェックボックスをチェックして画面上部の「削除」ボタンをクリックします。

container-registry-07.png

ユーザの作成

認証が必要な操作のほか、初回のイメージ登録時の認証用としてあらかじめユーザ作成が必要です。対象のコンテナレジストリを選択し、「ユーザ」タブをクリックすると作成済みのユーザリストが表示されます。新たに追加する場合は「追加」ボタンをクリックします。

container-registry-05.png

ユーザ追加ダイアログボックスで「ユーザ名」と「パスワード」を入力します。ユーザ名は英字および数字で構成される1~63文字、パスワードは英字および数字に加え、 -.@_* の記号で構成される1~63文字である必要があります。

container-registry-06.png

また、「ユーザ権限設定」のラジオボタンでユーザの権限を指定できます。それぞれの権限の名前の範囲は以下の通りです。

All 新規の追加、変更、削除などを含む全ての権限
Push & Pull 変更、読み込み
Pullのみ 読み込みのみ

入力後、「作成」ボタンをクリックすることでユーザが作成されます。

注釈

ユーザリストは右側の鉛筆アイコン pencil でパスワードの変更、削除アイコン cross で該当ユーザの削除が行えます。

ご利用手順

本サービスはDocker開発元が提供するDocker Hub互換のレジストリサービスです。同一のプロトコルを利用するコンテナエンジンでご利用いただけますが、ここではDockerを例に基本的な利用方法を説明します。

pushするイメージの準備

コンテナレジストリにpushするイメージ名は [レジストリ名].sakruacr.jp/[任意のイメージ名]:[タグ] である必要があります。pushするイメージは docker tag コマンドでイメージ名を変更します。

例: docker-img:latest という名前のイメージを example.sakuracr.jp という名前のレジストリにpushする場合

$ docker tag docker-img:latest example.sakuracr.jp/docker-img:latest

ログイン

dockerコマンドによるpushやpull操作を行う前に、操作対象となるコンテナレジストリにあらかじめ docker login コマンドでログイン状態にしておきます。

$ docker login [コンテナレジストリ名]
Username: [ユーザ名]
Password: [パスワード]
Login Succeeded

レジストリへのイメージ保存

docker push コマンドを使用しコンテナレジストリにイメージをpushします。

例:

$ docker push example.sakuracr.jp/docker-img:latest

レジストリからのイメージ取得

docker pull コマンドを使用します。

例:

$ docker pull example.sakuracr.jp/docker-img:latest