B OCIコンテナ・レジストリの使用

この手順は、Oracle Cloud Infrastructureでのコンテナ・レジストリの作成に役立ちます。ただし、他のレジストリも使用できます。ステージングの例は、これらのレジストリの場合も同様です。

コンテナ・レジストリを作成し、コンテナ・イメージをそのリポジトリにアップロードするには、次のタスクを実行する必要があります:
  1. コンテナ・レジストリの作成
  2. ソフトウェア・イメージを取得し、dockerまたはPodmanがインストールされているホストでローカルにステージングします。
  3. イメージにリポジトリ名をタグ付けします。
  4. イメージをリポジトリにアップロードします

この付録の内容は次のとおりです。

コンテナ・レジストリの作成

OCIにコンテナ・レジストリを作成する必要があります。コンテナ・レジストリは、コンテナ・イメージのホストに役立ちます。

コンテナ・レジストリを作成するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「開発者サービス」を選択し、「コンテナ・レジストリ」をクリックします。
  3. 「リポジトリの作成」をクリックして、次の手順を実行します:
    1. コンパートメントを選択します。たとえば: iam.
    2. リポジトリに名前を付けます。この名前は、コンテナ・イメージの名前と同じです。たとえば: oracle/oam.
    3. 誰でもアクセスできるようにするか、適切なログイン資格証明を持つユーザーのみがアクセスできるようにするかを選択します。
    4. 「リポジトリの作成」をクリックします。

これらのステップによって、空のリポジトリが作成されます。アップロードするイメージごとにステップ3を繰り返します。

ノート:

空のリポジトリを事前に作成する必要はありませんが、そうすることで、リポジトリが正しいコンパートメントに確実に作成されます。このステージを省略した場合、リポジトリを目的のコンパートメントに後で移動できます。

認証トークンの作成

まだ行っていない場合は、テナンシのOracle Cloud Infrastructureコンソールにログインし、認証トークンを作成します。

  1. ページの右上隅にある「プロファイル」をクリックします。
  2. 「ユーザー設定」をクリックし、「認証トークン」を選択して、「トークンの生成」をクリックします。
  3. 「説明」に入力します。たとえば: Container_token
  4. 「トークンの生成」をクリックします。
  5. 生成されたトークンは再度表示されないため、安全な場所にコピーします。

イメージのリポジトリへのアップロード

コンテナ・イメージは、Docker (dockerコマンドを使用)またはCRI-O (podmanコマンドを使用)を使用してアップロードできます。

Dockerを使用したコンテナ・レジストリへのイメージのロード

Dockerを使用してイメージをロードするには、まずコンテナ・レジストリにログインしてから、イメージをリポジトリにアップロードする必要があります。新しいリポジトリの詳細は、「コンテナ・レジストリの作成」を参照してください。

ローカルでのDockerイメージのステージング

イメージをまだローカルにステージングしていない場合は、続行する前にステージングする必要があります。手順については、「Dockerでのイメージのステージング」を参照してください。

コンテナ・レジストリへのログイン

リポジトリへのイメージのアップロードを開始する前に、まず新しいリポジトリにログインする必要があります。

  1. リポジトリにログインするには、次のコマンドを使用します:
    docker login repository_name

    リポジトリ名は<region_code>.ocir.ioになります。

    たとえば、アッシュバーン・リージョンにログインするには、次のコマンドを使用します:
    docker login iad.ocir.io

    リージョン・コードのリストは、「リージョンごとの可用性」を参照してください。

  2. プロンプトが表示されたら、ユーザー名を入力します。

    ユーザー名は、<tenancy-namespace>/<username>または<tenancy-namespace>/oracleidentitycloudservice/<username>になります。フェデレーション・ロギングを使用している場合、このユーザー名はOCIコンソールへのログインに使用するユーザー名と同じになります。たとえば: mytenancy/oracleidentitycloudservice/my@emailaddress.com

  3. パスワードの入力を求められたら、前に生成したトークンを指定します。「認証トークンの作成」を参照してください。
Dockerイメージのリポジトリへのアップロード

イメージをリポジトリにアップロードするには、Dockerイメージをローカルにインストールしておく必要があります。

  1. Dockerイメージの可用性をローカルで確認するには、次のコマンドを使用します:
    docker images
    たとえば、次のように表示されます:
    REPOSITORY         TAG                  IMAGE ID         CREATED         SIZE
    oiri-ui            12.2.1.4.02106       0f6595fcf33d     3 weeks ago     568MB
    
  2. イメージIDを使用して、イメージに新しいリポジトリの詳細をタグ付けします。タグ付けするには、次のコマンドを使用します:
    docker tag <imageid> <repository_name>/<tenancy>/<project>/<image_name>:version
    たとえば:
    docker tag 0f6595fcf33d      iad.ocir.io/mytenancy/oracle/oiri-ui:12.2.1.4.02106
  3. イメージにタグ付けしたら、次のコマンドを使用してアップロードできます:
    docker push <repository_name>/<tenancy>/<project>/<image_name>:version

    たとえば:

    docker push   iad.ocir.io/mytenancy/oracle/oiri-ui:12.2.1.4.02106

このステップで、イメージをルート・コンパートメントのコンテナ・レジストリに更新します。イメージを表示するには、テナンシにログインし、「開発者サービス」を選択して「コンテナ・レジストリ」をクリックします。

空のリポジトリを事前作成しなかった場合、イメージがルート・コンパートメントに格納されていることがわかります。イメージを特定のコンパートメントに移動する場合:

  1. リポジトリ名を選択します。たとえば: oiri-ui
  2. 「アクション」メニューから、コンパートメントに移動を選択します。
  3. 宛先コンパートメントを選択し、「OK」をクリックします。

CRI-Oを使用したコンテナ・レジストリへのイメージのロード

CRI-Oを使用してイメージをロードするには、まずコンテナ・レジストリにログインしてから、イメージをリポジトリにアップロードする必要があります。新しいリポジトリの詳細は、「コンテナ・レジストリの作成」を参照してください。

ローカルでのCRI-Oイメージのステージング

イメージをまだローカルにステージングしていない場合は、続行する前にステージングする必要があります。手順については、「CRI-Oでのイメージのステージング」を参照してください。

コンテナ・レジストリへのログイン

リポジトリへのイメージのアップロードを開始する前に、まず新しいリポジトリにログインする必要があります。

  1. リポジトリにログインするには、次のコマンドを使用します:
    sudo podman login repository_name

    リポジトリ名は<region_code>.ocir.ioになります。

    たとえば、アッシュバーン・リージョンにログインするには、次のコマンドを使用します:
    sudo podman login iad.ocir.io

    リージョン・コードのリストは、「リージョンごとの可用性」を参照してください。

  2. プロンプトが表示されたら、ユーザー名を入力します。

    ユーザー名は、<tenancy-namespace>/<username>または<tenancy-namespace>/oracleidentitycloudservice/<username>になります。フェデレーション・ロギングを使用している場合、このユーザー名はOCIコンソールへのログインに使用するユーザー名と同じになります。たとえば: mytenancy/oracleidentitycloudservice/my@emailaddress.com

  3. パスワードの入力を求められたら、前に生成したトークンを指定します。「認証トークンの作成」を参照してください。
CRI-Oイメージのリポジトリへのアップロード

イメージをリポジトリにアップロードするには、CRI-Oイメージをローカルにインストールしておく必要があります。

  1. CRI-Oイメージの可用性をローカルで確認するには、次のコマンドを使用します:
    sudo podman images
    たとえば、次のように表示されます:
    REPOSITORY         TAG                  IMAGE ID         CREATED         SIZE
    oiri-ui            12.2.1.4.02106       0f6595fcf33d     3 weeks ago     568MB
    
  2. イメージIDを使用して、イメージに新しいリポジトリの詳細をタグ付けします。タグ付けするには、次のコマンドを使用します:
    sudo podman tag <imageid> <repository_name>/<tenancy>/<project>/<image_name>:version
    たとえば:
    sudo podman tag 0f6595fcf33d      iad.ocir.io/mytenancy/oracle/oiri-ui:12.2.1.4.02106
  3. イメージにタグ付けしたら、次のコマンドを使用してアップロードできます:
    sudo podman push <repository_name>/<tenancy>/<project>/<image_name>:version

    たとえば:

    sudo podman push   iad.ocir.io/mytenancy/oracle/oiri-ui:12.2.1.4.02106

このステップで、イメージをルート・コンパートメントのコンテナ・レジストリに更新します。イメージを表示するには、テナンシにログインし、「開発者サービス」を選択して「コンテナ・レジストリ」をクリックします。

空のリポジトリを事前作成しなかった場合、イメージがルート・コンパートメントに格納されていることがわかります。イメージを特定のコンパートメントに移動する場合:

  1. リポジトリ名を選択します。たとえば: oiri-ui
  2. 「アクション」メニューから、コンパートメントに移動を選択します。
  3. 宛先コンパートメントを選択し、「OK」をクリックします。
ZIPファイルとしてダウンロードされたOAAイメージのステージング

Oracle Advanced Authenticationを使用しており、イメージをzipファイルの一部としてダウンロードした場合は、「コンテナ・イメージのステージング」の説明に従って、イメージをローカルにステージングする必要があります。

Oracle Advanced Authenticationには、ステージングされたすべてのイメージをレジストリに自動的にアップロードするためのユーティリティがzipファイルの一部として用意されています。このユーティリティは、pushImages.shと呼ばれ、抽出したzipファイルのoaa-installディレクトリにあります。ユーティリティを起動するには、次のコマンドを使用します:

pushImages.sh -b <RELEASE> -c <CONTAINER_COMMAND> -r <REGISTRY>

ここで、CONTAINER_COMMANDは、優先するコマンド・セットに応じてpodmanまたはdockerのいずれかです。

たとえば:

pushImages.sh -b 12.2.1.4.1-20240425 -c podman -r iad.ocir.io/mytenancy/idm

ノート:

コマンドを発行する前に、レジストリにログインしていることを確認する必要があります。