7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Oracle Cloud Infrastructure Registry (OCIR)を使ってみよう

Last updated at Posted at 2019-01-15

オンプレミスでDocker Registryを構築する手順を別の記事に書きましたが、運用を考えるとクラウドで提供されているサービスを利用した方が楽ですね。この記事ではOracle Cloud Infrastructure (OCI)で提供されている可用性の高いプライベート・コンテナ・レジストリ・サービスであるOracle Cloud Infrastructure Registry (OCIR)を使う手順をまとめています。

事前準備

まずは、OCI上にOCIRの管理ユーザーなど必要なリソースを作成していきます。

ブラウザで、Oracle Cloud Infrastructureのコンソールにアクセスしてください。

OCIコンソールでメニューを展開し、[Identity] - [Users]を選択します。

OCIコンソール Identity - Users

[Create User]を選択し、OCIRの管理ユーザーとしてregistry-managerというユーザーを作成します。

Create User

ユーザーが作成されるとUsersに表示されるので、作成された[registry-manager]を選択し、[Auth Tokens]で[Generate Token]を選択します。

Auth Tokens

DESCRIPTIONにregistry-tokenを入力し、作成されたトークン(スクリーンショットでは 4(vmAFE):(Ex8:uAIAZc )をメモしておきます。

Generate Token

Generated Token

次に、メニューで[Identity] - [Groups]を選択し、[Create Group]で管理グループとしてregistry-managersというグループを作成します。

Create Group

グループが作成されるとGroupsに表示されるので、作成された[registry-managers]を選択し、[Add User to Group]を選択します。USESRで[registry-manager]を選択し、グループにユーザーを追加します。

Add User to Group

最後に、メニューで[Identity] - [Policies]を選択し、[Create Policy]でregistry-managers-policyというポリシーを作成します。STATEMENTには以下の文を記入します。

Allow group registry-managers to manage repos in tenancy

Create Policy

これで、registry-managerというユーザーがOCIRにアクセスできるようになりました。

OCIRを使ってみよう

docker loginでOCIRにログインします。OCIRのサーバーは <リージョン・コード>.ocir.iod 、ユーザー名は <テナンシー名>/<ユーザー名>、パスワードは事前準備で作成したトークンです。ご自身の環境に合わせて、下記の表から適切なリージョン・コードを見つけてください。

リージョン・コード リージョン名
fra Frankfurt
iad Ashburn
lhr London
phx Phoenix

下記の例ではAshburnでホストされているshakiyamというテナンシーのOCIRにログインしています。

echo '4(vmAFE):(Ex8:uAIAZc' | docker login iad.ocir.io -u shakiyam/registry-manager --password-stdin

Docker Hubからイメージを手に入れ、自分のOCIR上にタグ付けします。タグ付けの形式は、<リージョン・コード>.ocir.io/<テナンシー名>/<リポジトリ名(オプション)>/<イメージ名>:<タグ>です。

docker image pull hello-world:latest
docker image tag hello-world:latest iad.ocir.io/shakiyam/hello-world:latest

タグ付けしたイメージをpushします。

docker push iad.ocir.io/shakiyam/hello-world:latest

OCIコンソールでメニューを展開し、[Developer Services] - [Registry]を選択します。

Registry

イメージがpushできていることが確認できます。

参考

この記事では管理用のユーザーしか作成しませんでしたが、OCIRのリポジトリでユーザーが実行できる操作はきめ細かく制御できます。詳細はOCIRのマニュアルをご参照下さい。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?