本文書は機械翻訳された文書で、語彙、構文、文法に誤りが生じます。 専門家の翻訳が完了したら修正される予定です。
気になる点は、お問い合わせでお問い合わせください。
便利なサービスの提供に最善を尽くします。
使用ガイド
ネイバークラウドプラットフォームのContainer RegistryはDocker Registry v2スペックのDockerコンテナイメージストレージを提供します。 Dockerコンテナ画像はObject Storageに保存されます。 開発者はDockerCLIコマンドを利用してDockerコンテナ画像をアップロード(Push)及びダウンロード(Pull)することができます。 また、Dockerコンテナ画像の保存·管理のためのインフラについて考える必要がないので、コンテナ開発に集中できます。
提供リージョン
下記のリージョンで利用できます。 提供可能なリージョンは今後拡大の予定です。
リージョン | リージョンコード |
---|---|
韓国 | KR |
シンガポール | SG(SGN) |
リージョンコードはレジストリに対するエンドポイントとして使用されます。 レジストリ名とリージョンコードは、下記のようにレジストリエンドポイントに使用されます。
- レジストリエンドポイント:
<registry-name>
.<region-code>
.ncr.ntruss.com
Public Endpoint を VPC 環境の VM 内からアクセスするためには外向きインターネット構成が求められます。 当該構成には、NAT GatewayとPublic Subnetの場合、Public IPと同じリソースが必要となり、追加料金がかかることがあります。 Private Endpointは、NAVERクラウドのネットワーク内でのみ使用できるContainer Registryエンドポイントです。 これを使用する場合、すべてのネットワークトラフィックはネイバー·クラウド·プラットフォームのネットワークのみに制限されるため、セキュリティを向上させることができます。 プライベートエンドポイント(Private Endpoint)を使用する場合、このようなリソースなしにVPC内でContainer Registryを利用することができます。
制約事項
Docker Version
- ネイバークラウドプラットフォームのContainer Registryを利用するためには、Docker Engine 1.10以上のバージョンが必要です。
Object Storage
- 該当商品はObject Storage商品の購読が必要です。 Object StorageのバケットにDockerコンテナ画像が保存されます。
- 以下の機能を有効にする場合、正常的なサービス利用が不可能になることがあります。
- WORM(Write Once Read Many)
- Lifecycle Management
- ACL(Access Control List)
- ACL機能を有効にした場合は、アクセス制御が設定されたサーバー内で、プライベートエンドポイントを利用してコンテナレジストリサービスを利用できます。
レジストリを作成する
NAVERクラウドプラットフォームのContainer Registryを使用するためにはレジストリを作成する必要があります。 レジストリはDockerコンテナ画像が保存·管理される単位です。 サブアカウントの場合、管理者(マネージャー)権限がある場合、その機能が許可されます。
① 商品上部の
レジストリ作成
ボタンをクリックします。
② レジストリ名を入力します。 レジストリの名前は営巣文字、数字、"-"を使用することができ、3~30字以内の長さに作成されなければなりません。 また、英文字で始める必要があり、"-"で終わることはできません。
③ バケットフィールドには、Object Storageに生成されたバケットのリストが表示されます。 生成するレジストリと連動するバケットを選択します。
NOTE 生成されたバケットがない場合は、Object Storage商品に移動して生成するレジストリと連動するバケットを作成してください。 レジストリと既に連動したバケットは選択できません。
Private Endpointを有効または無効にする
Public Endpointは、外部ネットワークが利用可能な環境でNaver Cloud PlatformのContainer Registryを使用する場合に使用できるエンドポイントです。 必要に応じて、この機能を無効にして、コンテナレジストリの開示を無効にすることができます。
NOTE Public Endpointが無効になっている場合でも、Private EndpointはNAVER CLOUD PLATFORMのネットワーク環境内で使用できます。
① レジストリエントリのPublic Endpointフィールドの右ボタンをクリックします
② 「はい」をクリックしてPublic Endpointを無効にします。
③ Public Endpointが無効になっている場合、レジストリの詳細には「無効」と表示されます。 「有効」に変更するには、上記のプロセスを再度実行します。
レジストリを削除する
① 削除するためのレジストリを選択します。 ② レジストリ削除ボタンをクリックします。
NOTE レジストリを削除しても、Object Storageに保存されたDockerコンテナ画像は削除されません。 事前にすべての画像を削除した後にレジストリを削除することをおすすめします。
サブアカウントポリシーを管理する
NAVERクラウドプラットフォームのSubAccount商品で、サブアカウントにContainer Registry権限を割り当てられます。 サブアカウントに割り当てられるContainer Registry ポリシーは以下のとおりです。
- Container Registry 管理者(NCP_CONTAINER_REGISTRY_MANAGER): レジストリ生成、レジストリ削除、Dockerコンテナ画像アップロード(Push)、Dockerコンテナ画像ダウンロード(Pull)、Dockerコンテナ画像削除
- Container Registry ビューアー(NCP_CONTAINER_REGISTRY_VIEWER): レジストリ照会、Dockerコンテナ画像ダウンロード(Pull)
Docker CLI環境でサブアカウントがレジストリにログインする時に使用するIDは、サブアカウントのAPI認証キーです。 API認証キーはSubAccount商品からご確認いただけます。 使用したいサブアカウントへのアクセスタイプ(Access Type)のAPI Gateway Accessが有効になった場合、サブアカウントの詳細からAPI認証キーを確認することができます。 その他にも、API Gateway Accessを持つサブアカウントは、ポータル > マイページ > アカウント管理 > 認証キー管理
で該当サブアカウント認証キーを確認できます。
レジストリログインする
Docker CLIよりログイン
NAVERクラウドプラットフォームに作成したレジストリにログインするための例題です。 ログインのためにはAPI認証キーと生成したレジストリのエンドポイントが必要です。
レジストリリストの詳細メニューからログインのためのエンドポイントを確認できます。 ネイバークラウドプラットフォームのContainer Registryを利用するためにはDocker Engine 1.10以上のバージョンが必要です。 このバージョンがインストールされている場合、ターミナルでDocker CLIを利用してエンドポイントにログインできます。 ログインに必要なユーザーIDとパスワードはそれぞれAPI認証鍵のAccess Key Id、 Secret Keyです。
$ docker login -u <access-key-id> <registry-name>.kr.ncr.ntruss.com
Password: <secret-key>
Login Succeeded
ログイン成功後は、ログイン Succeded
メッセージが出力されます。
Kubernetesでログイン
KubernetesでNAVERクラウドプラットフォームのContainer Registryを利用するためのsecret
を生成する例題です。
下記はkubectl
コマンドを利用してregcred
という名前のsecret
を生成する例題です。
$ 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: extensions/v1beta1
kind: Deployment
metadata:
name: test-mysql
labels:
name: test-mysql
spec:
replicas: 1
template:
metadata:
labels:
name: test-mysql
spec:
imagePullSecrets:
- name: regcred
containers:
- name: test-mysql
image: <registry-name>.kr.ncr.ntruss.com/mysql:5.7.21
env:
- name: MYSQL_ROOT_PASSWORD
value: "1234"
Dockerコンテナ画像アップロード(Push)する
docker login
コマンドを利用して特定のレジストリのエンドポイントにログインした場合、そのレジストリにDockerコンテナ画像をアップロード(Push)することができます。
$ docker push <registry-name>.kr.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
NOTE サブアカウントの場合はSub Accountポリシーに管理者(マネジャー)権限がなければ、作業が許可されません。
Dockerコンテナ画像ダウンロード(Pull)する
docker login
コマンドを利用して特定のレジストリのエンドポイントにログインした場合、そのレジストリに保存されたDockerコンテナの画像をPullすることができます。
以下の例題は、レジストリに保存されたjenkins:latest
の画像をダウンロードするエジェです。
$ docker pull <registry-name>.kr.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
NOTE サブアカウントの場合はSub Accountポリシーにビューア以上の権限がある場合のみ、作業が許可されます。
Dockerコンテナ画像管理
この節では、NAVERクラウドプラットフォームのContainer Registry商品のダッシュボードにおいて、Dockerコンテナ画像を管理する方法を記述します。
アップロードした画像の確認
① レジストリリストからイメージリストの移動ボタンをクリックします。
② 画像リストからアップロード(Pull)したリストを確認することができます。
テーブルヘッダ | 説明 |
---|---|
画像名 | コンテナ画像の名前です。 |
Short Description | コンテナ画像に対する短いメモです。 |
最近の変更日 | コンテナ画像に対する最近の変更日です。 |
Pulls |
コンテナ画像をダウンロードした回数です。 |
画像Descriptionを作成する
イメージリストから特定の行をクリックすると、イメージに対するShort DescriptionとFull Descriptionを見ることができます。
Edit
ボタンをクリックすると、Descriptionを作成することができます。
- Short Description:100字以内のメモを入力することができます。
- FullDescription:Markdownフォーマットをサポートします。 より豊富なメモを作成できます。
画像を削除する
画像リストから削除するための画像を選択後、上部の画像削除ボタンをクリックします。 モーダルウィンドウの削除ボタンをクリックして、その画像を削除します。 画像を削除すると、その画像のすべてのタグ(tag)が自動的に削除されます。
画像タグを削除する
画像のタグ(tag)タブで、その画像のタグ(tag)リストを確認することができます。 各タグ行にある削除ボタンで、当該タグを削除することができます。
関連情報のショートカット
以下のガイドで関連情報が確認できます。