この記事はJapaneseで表示されません。Koreanでご覧ください。

Image Registry - パブリックプロジェクトの管理

印刷

Image RegistryサービスはオープンソースプロジェクトであるHarborを利用してサービスされます。 Docker Image管理用のストレージ機能とユーザー認証機能を提供します。

複数のユーザー宛てにサービスを提供するために、Public/Private プロジェクトを作成してイメージを管理できます。詳細については、以下のガイドまたはオープンソースプロジェクトサイトのユーザーガイドを参照してください。

サービスを使用するには、ZCP Consoleサイドメニューの[Image Registry]をクリックします。


アカウントを作成する

クラスター管理者は任意のユーザーを直接登録できます。管理者としてログインした後、以下に示すように、「管理 > ユーザー > 新規ユーザー」ボタンをクリックします。


以下のようにユーザー情報を入力し、「OK」ボタンをクリックしてユーザーを作成します。

パブリックドメイン

イメージストアをプロジェクトごとに分離して使用できます。プロジェクトタイプをPublicとPrivateに設定できます。次の違いがあります。

ユーザーの区別特権PublicPrivate
匿名ユーザーPull (Read)OX
Push (Write)XX
ログインユーザーPull (Read)OX
Push (Write)XX

Projectsメニューを選択し、NEW PROJECTボタンをクリックします。

「Project Name」と入力して「Public」のメニューをチェックし、「OK」ボタンをクリックします。

Access levelのPublicをチェックすると、誰でもそのプロジェクトを見ることができます。ただし、イメージをプッシュするにはプロジェクトメンバーである必要があります。

Access level の Public を check しないと Private で作成され、プロジェクトメンバーでなければそのプロジェクトを表示できません。

Project が作成された様子です。

Project名をクリックして右側のPUSH IMAGEメニューをクリックすると、このプロジェクトにImageを上げるdocker commandを確認できます。

プロジェクトにImage Push

Docker Clientで...

Image Registryにログイン

パブリックプロジェクトにImageをプッシュするか、プライベートプロジェクトにImage PullまたはPushするには、Image Registryにログインする必要があります。

ログインは、次のコマンドを実行するとすぐにログインします。ログインするには、プロジェクトメンバーとして登録されている必要があります。

$ docker login [IMAGE_REGISTRY_URL] Username:                           # Image Registry 사용자 계정 Password:                           # Image Registry 사용자 비밀번호

Image Push する

Docker コマンドを使って Push する方法は、既存の Image Push する方法と同じです。プッシュする前にdocker loginを実行する必要があります。

# 이미지 Tag를 생성합니다. $ docker tag SOURCE_IMAGE[:TAG] [IMAGE_REGISTRY_URL]/[프로젝트명]/IMAGE[:TAG] 

# 이미지를 Push 합니다. $ docker push [IMAGE REGISTRY URL]/[프로젝트명]/IMAGE[:TAG]

Image Pull する

Dockerコマンドを使用してプルする方法は、アクセス可能なImageを入力するだけです。

$ docker pull [IMAGE_REGISTRY_URL]/[프로젝트명]/IMAGE[:TAG]


Kubernetes Podから...

ImagePullSecretの作成と登録

Kubernetes PodでPrivate Image Registryを使用する場合は、Docker loginなどの認証処理を行う必要があります。これにはImagePullSecretを使用します。

名前空間に生成された Secret を以下のコマンドで確認します。

$ kubectl get secret --namespace my-namespace NAME                  TYPE                                  DATA      AGE my-docker-secret      kubernetes.io/dockerconfigjson        1         1d my-tls-secret         kubernetes.io/tls                     2         1d

ポッドを作成するために、以下のようにimagePullSecretsにシークレット名を追加すると、ポッドの作成時にそのイメージを使用できます。

apiVersion: v1 kind: Pod metadata:  name: private-reg spec:  containers:  - name: private-reg-container    image: [IMAGE_REGISTRY_URL]/[프로젝트명]/IMAGE[:TAG]  imagePullSecrets:  - name: my-docker-secret

プロジェクトメンバーの管理

プロジェクトを照会したり画像をプッシュしたりするには、プロジェクトメンバーとして登録する必要があります。

画面のようにプロジェクトに入り、Members タブをクリックして NEW MEMBER ボタンを押すと、Member を追加できます。


次のように、新しいメンバーIDと役割を入力できます。


各役割で実行できるものは次のとおりです。

役割実行権限
Project Admin

プロジェクトが作成されると、コンストラクタに権限が付与されます。

プロジェクトの読み取り/書き込み権限があります。

プロジェクトメンバーの追加削除権限があります。

Developer

プロジェクトの読み取り/書き込み権限があります。

Guest

プロジェクトの読み取り権限があります。

オンライン相談

問い合わせ

この回答は役に立ちましたか? はい いいえ

フィードバックを送信
お役に立てずに申し訳ございません。この記事を向上させるためにフィードバックをお願い致します。