- 印刷する
- PDF
Container Registry の情報確認と管理
- 印刷する
- PDF
Classic/VPC環境で利用できます。
Container Registryに作成したレジストリとレジストリに登録(Push)したコンテナイメージを確認し、ローカルに保存した Dockerコンテナイメージを Container Registryのレジストリにアップロード(Push)したり、レジストリにある Dockerコンテナイメージをローカルにダウンロード(Pull)します。また、運用中のレジストリや Dockerコンテナイメージをユーザー環境に合わせて設定・管理します。
Container Registry画面
Container Registryを利用するための基本的な説明は次の通りです。
領域 | 説明 |
---|---|
① メニュー名 | 現在確認中のメニュー名とパス、運用中のレジストリ数 |
② 基本機能 | レジストリの作成、Container Registry詳細情報の確認 |
③ 作成後の機能 | 運用中のレジストリの削除 |
④ Container Registryリスト | 運用中のレジストリリストと情報を確認 |
レジストリリスト画面
作成して運用中のレジストリリストでレジストリ別の情報を確認します。確認する方法は、次の通りです。
NAVERクラウドプラットフォームコンソールで Services > Containers > Container Registryメニューを順にクリックします。
作成した Container Registryリストでサマリー情報を確認するか、レジストリをクリックして詳細情報を確認します。
- レジストリ名: Container Registry内に作成したレジストリ名
- バケット名: Dockerコンテナイメージを保存する Object Storageのバケット名
- 使用量: Dockerコンテナイメージを保存したバケットの使用量
- 状態: レジストリの現在状態
- イメージリスト: 作成したレジストリに登録した Dockerコンテナイメージリスト画面に移動
- アクセスコマンド: レジストリにログイン(Login)、Dockerコンテナイメージをアップロード(Push)/ダウンロード(Pull)するためのコマンドを確認
- Configuration: パブリックエンドポイント(Public Endpoint)の使用およびアップロードした Dockerコンテナイメージのセキュリティ脆弱性スキャン(Scan on Push)の有無を設定
- Public Endpoint: パブリックエンドポイント(Public Endpoint)の情報(
<registry-name>
.<region-code>
.ncr.ntruss.com) - Private Endpoint: プライベートエンドポイント(Private Endpoint)の情報(
<random-name>
.<region-code>
.private-ncr.ntruss.com) - 古いタグの片付け: Dockerコンテナイメージに適用されているタグを削除
- 作成日時: レジストリを作成した日時
レジストリパブリックエンドポイントの有効化/無効化
パブリックエンドポイントは、外部ネットワーク(インターネット)を利用する環境で NAVERクラウドプラットフォームの Container Registryを利用する際に使用するエンドポイントです。必要に応じてこの機能を無効にすると、コンテナレジストリを公開しないように設定できます。
パブリックエンドポイントが無効化状態でも、プライベートレジストリは NAVERクラウドプラットフォームのネットワーク環境内で利用できます。
パブリックエンドポイント(Public Endpoint)を有効化または無効化する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールにアクセスします。
- Services > Containers > Container Registry メニューを順にクリックします。
- リストで対象のレジストリ名をクリックします。
- 詳細情報領域で、Configuration にあるをクリックします。
- Configuration設定のポップアップで、Public Endpoint 項目の有効/無効のトグルボタンをクリックして使用するかどうかを設定し、[確認] ボタンをクリックします。
パブリックレジストリの有効化/無効化
パブリックレジストリは、権限がなくても誰もがそのレジストリからイメージをダウンロード(Pull)できるように設定する機能です。NAVERクラウドプラットフォームのコンテナレジストリは、基本的に権限のあるユーザーのみイメージのダウンロード(Pull)を行えます。必要な場合、パブリックレジストリを有効化して誰でもイメージをダウンロード(Pull)するように設定できます。
パブリックレジストリが有効化状態でも、権限のないユーザーはイメージのアップロード(Push)を行えません。
パブリックレジストリ(Public Registry)を有効化または無効化する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールにアクセスします。
- Services > Containers > Container Registry メニューを順にクリックします。
- リストで対象のレジストリ名をクリックします。
- 詳細情報領域で、Configuration にあるをクリックします。
- Configuration設定のポップアップで、Public Registry 項目の有効化/無効化のトグルボタンをクリックして使用するかどうかを設定し、[確認] ボタンをクリックします。
レジストリの削除
作成して運用中のレジストリを削除します。
削除する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで Services > Containers > Container Registry メニューを順にクリックします。
- 削除するレジストリをクリックし、[削除] ボタンをクリックします。
- レジストリ削除のポップアップで内容を確認し、[削除] ボタンをクリックします。
レジストリを削除しても、Object Storageに保存した Dockerコンテナイメージは削除されません。事前にすべてのイメージを削除してからレジストリを削除してください(推奨)。
サブアカウントポリシーの管理
NAVERクラウドプラットフォームの Sub Accountサービスを利用すると、サブアカウントに Container Registry権限を割り当てできます。サブアカウントに割り当てできる Container Registryポリシーは次の通りです。
- Container Registry管理者(NCP_CONTAINER_REGISTRY_MANAGER): レジストリの作成/削除、Dockerコンテナイメージのアップロード(Push)/ダウンロード(Pull)/削除
- Container Registryビューア(NCP_CONTAINER_REGISTRY_VIEWER): レジストリの照会、Dockerコンテナイメージのダウンロード(Pull)
Docker CLI環境で、サブアカウントでレジストリにログインする場合の使用 IDは、サブアカウントの API認証キーです。サブアカウントのアクセスタイプ(Access Type)の API Gateway Accessが有効になっている場合、API認証キーは NAVERクラウドプラットフォームコンソールの Services > Management & Governance > Sub Account メニューで、そのサブアカウントを選択すると表示される詳細情報の [Access Key] タブで確認・管理できます。
レジストリログイン
Docker CLIでログイン
NAVERクラウドプラットフォームの Container Registryを利用するには、Docker Engine 1.10以降のバージョンが必要です。そのバージョンがインストールされている場合、ターミナルで Docker CLIを利用してエンドポイントにログインできます。
Docker CLIを利用してエンドポイントにログインする方法は、次の通りです。
レジストリにアクセスするためのエンドポイント、API認証キーの Access Key Id、Secret Key情報を確認します。
- エンドポイント: レジストリの詳細情報画面で、Public Endpoint または Private Endpoint を確認
- パブリックエンドポイント:
<registry-name>
.<region-code>
.ncr.ntruss.com - プライベートエンドポイント:
<random-id>
.<region-code>
.private-ncr.ntruss.com
- パブリックエンドポイント:
- アカウント ID: API認証キーの Access Key Idを確認
- アカウントパスワード: API認証キーの Secret Keyを確認
- エンドポイント: レジストリの詳細情報画面で、Public Endpoint または Private Endpoint を確認
ターミナルで、アクセスコマンドを入力してレジストリにアクセスします。
- 上記の1で確認した値を
<access-key-id>
、<registry-name>
、<region-code>
、<secret-key>
に入力します。 - レジストリの詳細情報画面の アクセスコマンド 項目でもコマンドを確認できます。ご利用ガイド ボタンをクリックすると、ログインの他にもアップロード(Push)、ダウンロード(Pull)コマンドも確認できます。
- 上記の1で確認した値を
$ docker login -u <access-key-id> <registry-name>.<region-code>.ncr.ntruss.com
Password: <secret-key>
Login Succeeded
ログインに成功すると、上記の例のようにターミナル画面にLogin Succeeded
メッセージが表示されます。
Kubernetesでログイン
Kubernetesでエンドポイントにログインする方法は、次の通りです。
ここでは、kubectlコマンドを利用してregcred
という名前の secretを作成する方法をユースケースにて説明します。
レジストリにアクセスするためのエンドポイント、API認証キーの Access Key Id、Secret Key情報を確認します。
- エンドポイント: レジストリの詳細情報画面で、Public Endpoint または Private Endpoint を確認
- パブリックエンドポイント:
<registry-name>
.<region-code>
.ncr.ntruss.com - プライベートエンドポイント:
<random-id>
.<region-code>
.private-ncr.ntruss.com
- パブリックエンドポイント:
- アカウント ID: API認証キーの Access Key Idを確認
- アカウントパスワード: API認証キーの Secret Keyを確認
- ユーザーのメール: ユーザーアカウントのメールアドレス
- エンドポイント: レジストリの詳細情報画面で、Public Endpoint または Private Endpoint を確認
ターミナルで kubectlコマンドを利用して
regcred
という名前の secretを作成します。- 上記の1で確認した値を
<registry-end-point>
、<registry-end-point>
、<secret-key>
、<your-email>
に入力します。
- 上記の1で確認した値を
$ kubectl create secret docker-registry regcred --docker-server=<registry-end-point> --docker-username=<access-key-id> --docker-password=<secret-key> --docker-email=<your-email>
NAVERクラウドプラットフォームに作成したレジストリのイメージをダウンロード(Pull)するよう、以下の例のように templateの spec領域の
imagePullSecrets
に、あらかじめ作成しておいたsecret
の名前を入力して保存します。- Example: MySQL YAML
apiVersion: apps/v1 kind: Deployment metadata: name: test-mysql labels: name: test-mysql spec: replicas: 1 selector: matchLabels: name: test-mysql template: metadata: labels: name: test-mysql spec: imagePullSecrets: - name: regcred containers: - name: test-mysql image: <registry-name>.ncr.gov-ntruss.com/mysql:5.7.21 env: - name: MYSQL_ROOT_PASSWORD value: "1234"
Dockerコンテナイメージのアップロード(Push)
docker login
コマンドを利用して特定のレジストリのエンドポイントにログインした場合、そのレジストリに Dockerコンテナイメージをアップロード(Push)できます。
Dockerコンテナイメージをレジストリにアップロード(Push)するには、先にそのコンテナの Dockerコンテナイメージを作成(docker commit
)して作成したイメージにタグ(docker tag
)を適用しておく必要があります。詳細は、Dockerの公式サイの使用ガイドと関連文書をご参考ください。
レジストリに Dockerコンテナイメージをアップロード(Push)する方法は、次の通りです。
ここでは、jenkins:latest
Dockerコンテナイメージをレジストリにアップロード(Push)する方法をユースケースにて説明します。
- Docker CLI環境で、
docker login
コマンドを使用して対象のレジストリにログインします。- 詳細は、Docker CLIでログインをご参考ください。
$ docker login -u <access-key-id> <registry-name>.<region-code>.ncr.ntruss.com
Password: <secret-key>
Login Succeeded
- 以下の例のように
docker push
コマンドを使用して実行します。- レジストリの詳細情報画面の アクセスコマンド 項目にある ご利用ガイド ボタンをクリックすると、アップロード(Push)コマンドの例と説明を確認できます。
$ docker push <registry-name>.<region-code>.ncr.ntruss.com/jenkins
The push refers to repository [mybear.kr.beta-ncr.ntruss.com/jenkins]
0577e068c587: Layer already exists
b1891bf16fa7: Layer already exists
37c1d818eb0b: Layer already exists
d51e4482f53a: Layer already exists
ceed640cbb93: Layer already exists
9c2e8b91bfa8: Layer already exists
c477b6c8ca45: Layer already exists
fa0c3f992cbd: Layer already exists
ce6466f43b11: Layer already exists
719d45669b35: Layer already exists
3b10514a95be: Layer already exists
latest: digest: sha256:0de43cde2c4b864a8e4a84bbd9958e47c5d851319f118203303d040b0a74f159 size: 4501
サブアカウントでログインした場合、そのサブアカウントの Sub Accountポリシーに管理者(マネージャー、Change(Full))権限がないと、この操作は行えません。
Dockerコンテナイメージのダウンロード(Pull)
docker login
コマンドを利用して特定のレジストリのエンドポイントにログインした場合、そのレジストリに保存した Dockerコンテナイメージをダウンロード(Pull)できます。
レジストリに Dockerコンテナイメージをダウンロード(Pull)する方法は、次の通りです。
ここでは、レジストリに保存したjenkins:latest
Dockerコンテナイメージをダウンロード(Pull)する方法をユースケースにて説明します。
- Docker CLI環境で、
docker login
コマンドを使用して対象のレジストリにログインします。- 詳細は、Docker CLIでログインをご参考ください。
$ docker login -u <access-key-id> <registry-name>.<region-code>.ncr.ntruss.com
Password: <secret-key>
Login Succeeded
- 以下の例のように
docker pull
コマンドを使用して実行します。- レジストリの詳細情報画面の アクセスコマンド 項目にある ご利用ガイド ボタンをクリックすると、ダウンロード(Pull)コマンドの例と説明を確認できます。
$ docker pull <registry-name>.<region-code>.ncr.ntruss.com/jenkins
Using default tag: latest
latest: Pulling from jenkins
55cbf04beb70: Pull complete
c58988e753d7: Pull complete
70fcfa476f73: Pull complete
0539c80a02be: Downloading [===============> ] 40.52MB/133.9MB
54fefc6dcf80: Download complete
911bc90e47a8: Download complete
38430d93efed: Download complete
c0cbcb5ac747: Download complete
35ade7a86a8e: Download complete
aa433a6a56b1: Downloading [===================> ] 27.91MB/70.41MB
841c1dd38d62: Download complete
12b47c68955c: Download complete
1322ea3e7bfd: Download complete
サブアカウントでログインした場合、そのサブアカウントの Sub Accountポリシーにビューア(View(Full))以上の権限がないと、この操作は行えません。
Dockerコンテナイメージの管理
Container Registryのレジストリに登録した Dockerコンテナイメージを確認したり、イメージにメモを入力したり、古いタグを片づけます。また、Dockerコンテナイメージを削除するなどの管理を行います。
アップロードイメージの確認
特定のレジストリにアップロードした Dockerコンテナイメージを確認・管理します。
レジストリにアップロードした Dockerコンテナイメージリストに移動する方法は、次の通りです。
NAVERクラウドプラットフォームコンソールで Services > Containers > Container Registry メニューを順にクリックします。
レジストリリストで、対象のレジストリにあるイメージリストの [移動] ボタンをクリックします。
レジストリの Dockerコンテナイメージリストでサマリー情報を確認するか、Dockerコンテナイメージをクリックして詳細情報を確認します。
- [削除]: レジストリにアップロードしたイメージを削除
- リストと [Details] タブ
- イメージ名: Dockerコンテナイメージの名前
- 直近の変更日: Dockerコンテナイメージを変更した直近の日時
- Pulls: Dockerコンテナイメージをダウンロードした回数
- Pullコマンド: Docker CLI環境などで Dockerコンテナイメージをダウンロード(Pull)するためのコマンドを確認。ご利用ガイド ボタンをクリックすると、ダウンロード(Pull)の他にもログイン(Login)、アップロード(Push)コマンドも確認可能。
- Configuration: タグ変更可能有無を設定
- Short Description: 100文字以内の説明を入力
- Full Description: マークダウン(Markdown)形式をサポートし、より豊富な説明を作成可能
- [Tags] タブ
- Tag削除: Dockerコンテナイメージに適用されているタグ(Tag)を削除
- タグ名: Dockerコンテナイメージに適用されているタグ(Tag)の名前
- 圧縮サイズ: タグが適用されている Dockerコンテナイメージのサイズ
- 直近の変更日: Dockerコンテナイメージを変更した直近の日時
- Digest: Dockerコンテナイメージの固有の識別 ID
- セキュリティ脆弱性: Dockerコンテナイメージのセキュリティ脆弱性スキャン
イメージ Descriptionの作成
Dockerコンテナイメージについての説明を Short Descriptionと Full Descriptionで作成します。
- Short Description: 100文字以内の説明を入力
- Full Description: マークダウン(Markdown)形式をサポートし、より豊富な説明を作成可能
Dockerコンテナイメージについての説明(Description)を作成する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで Services > Containers > Container Registry メニューを順にクリックします。
- レジストリリストで、対象のレジストリにあるイメージリストの [移動] ボタンをクリックします。
- Dockerコンテナイメージリストの Detail タブで、Short Description または Full Description の [修正] ボタンをクリックします。
- 入力フィールドに説明を入力し、[提出] ボタンをクリックします。
- Full Descriptionは、マークダウン形式で説明を入力する [Code] タブと、作成した説明をプレビューする [Preview] タブに分けられます。
- Short Description で作成した説明は、リストの Short Description 列に表示されます。
イメージの削除
レジストリにアップロードした Dockerコンテナイメージを削除する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで Services > Containers > Container Registry メニューを順にクリックします。
- レジストリリストで、対象のレジストリにあるイメージリストの [移動] ボタンをクリックします。
- Dockerコンテナイメージリストで削除対象の Dockerコンテナイメージにチェックを入れて選択し、[削除] ボタンをクリックします。
- イメージ削除のポップアップで内容を確認し、[削除] ボタンをクリックします。
- イメージを削除すると、そのイメージのすべてのタグ(tag)も自動で削除されます。
イメージタグの削除
Dockerコンテナイメージに適用したタグ(tag)を削除する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで Services > Containers > Container Registry メニューを順にクリックします。
- レジストリリストで、対象のレジストリにあるイメージリストの [移動] ボタンをクリックします。
- Dockerコンテナイメージリストで対象の Dockerコンテナイメージをクリックします。
- 詳細情報画面で [Tags] タブをクリックします。
- タグリストで削除対象のタグにチェックを入れて選択し、[Tag削除] ボタンをクリックします。
- Tag削除のポップアップで内容を確認し、[削除] ボタンをクリックします。
古いタグの片付け
Dockerコンテナイメージに適用したタグを削除する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで Services > Containers > Container Registry メニューを順にクリックします。
- レジストリリストで対象のレジストリをクリックします。
- レジストリの詳細情報画面で 古いタグの片付け 項目の [移動] ボタンをクリックします。
- 必要に応じて、Filter 機能を利用して照会条件に合った Dockerコンテナイメージのみ表示できます。基準日と最後のタグを除外するかどうかを選択し、[適用] ボタンをクリックします。
- イメージリストで、タグを削除するイメージにチェックを入れて選択し、[削除] ボタンをクリックします。
- 削除のポップアップで内容を確認し、[削除] ボタンをクリックします。
タグ変更可能の有効化/無効化
同じタグ名を持つイメージの Push/Overwriteを防止する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで Services > Containers > Container Registry メニューを順にクリックします。
- レジストリリストで、対象のレジストリにあるイメージリストの [移動] ボタンをクリックします。
- Dockerコンテナイメージリストの Details タブで、Configuration にあるをクリックします。
- Configuration設定のポップアップで、Tag Mutability 項目の有効化/無効化のトグルボタンをクリックして使用するかどうかを設定し、 [確認] ボタンをクリックします。