コンテナ・イメージの設定

バッチは、Dockerコンテナ内でワークロードを実行します。Oracle Cloud Infrastructure Registry (OCI Registry)でコンテナ・イメージを準備および格納し、ジョブの実行時にバッチがそれらのイメージをプルできるようにアクセスを構成する必要があります。

  1. コンテナ・イメージを構築します:
    • Dockerなどのツールを使用して、コンテナ・イメージを作成します。
    • 必要なソフトウェアをインストールし、すべての依存関係を含むDockerfileを作成します。
    • タスクに必要なデフォルトの環境変数を追加します。
    • コンテナ内のコマンドを実行するユーザーを指定します。
    • イメージをローカルでテストして、すべてのコンポーネントが使用可能であることを確認します。
    ノート

    バッチで実行するイメージでは、root以外のユーザーを指定する必要があります。バッチは、rootとして実行されるすべてのプロセスに失敗します。ユーザーを指定しない場合、イメージはデフォルトでrootとして実行され、ジョブは失敗します。
  2. イメージを(OCIレジストリ)にプッシュします:
    • OCIレジストリ・リポジトリの要件に従ってイメージをタグ付けします。
    • バッチ・サービスを使用する予定の各OCIレジストリ・リージョンにイメージをプッシュします。

    詳細は、OCIレジストリを参照してください。

    ノート

    バッチは、ジョブが実行されているリージョンと同じリージョンからのみコンテナ・イメージをプルできます。使用する各リージョンにイメージをプッシュします。
  3. バッチによるイメージのプルの有効化:
    • バッチがOCIレジストリ・リポジトリから読み取れるように、次のIAMポリシーが設定されていることを確認します。
      Allow any-user to read repos in tenancy where ALL { request.principal.type = 'batchcontextinfrastructure' }
      Allow any-user to read object-family in tenancy where ALL { request.principal.type = 'batchcontextinfrastructure' }