コンテナ・インスタンスの作成

Compute Cloud@Customerコンテナ・インスタンスには、単一のコンテナが含まれます。

コンテナ・インスタンスを作成するために指定する必要がある最小限の情報は、次のとおりです。

コンテナ・インスタンスは、コンテナ・インスタンスとコンテナ間で共有される15 GBのエフェメラル・ストレージを活用します。このエフェメラル・ストレージは、コンテナ・インスタンスの作成時に自動的に作成されます。ストレージを手動で作成してコンテナ・インスタンスにアタッチすることはできません。

    1. Compute Cloud@Customerコンソールダッシュボードで、「コンテナ/コンテナ・インスタンス」を選択します。

    2. 「コンテナ・インスタンス」リストの上にある「コンテナ・インスタンスの作成」を選択します。

    3. 「コンテナ・インスタンスの作成」ダイアログ・ボックスで、次の情報を入力します。

      • 名前: コンテナ・インスタンスの名前を入力します。インスタンス名の特性は次のとおりです。

        • コンテナ・インスタンスの作成後に変更できます。

        • ユニークである必要はありません。

        • 英数字とハイフン(-)文字のみを使用できます。

        • 最大63文字です。

      • 一般情報

        • コンパートメントに作成: コンテナ・インスタンスを作成するコンパートメントを選択します。

        • フォルト・ドメイン: (オプション)フォルト・ドメインを選択します。デフォルトでは、インスタンスの作成時に、コンテナ・インスタンスに最適なフォルト・ドメインが自動的に選択されます。フォルト・ドメインを指定し、リクエストされたフォルト・ドメインにコンテナ・インスタンスを収容できない場合、インスタンスの作成は失敗します。フォルト・ドメインは、コンテナ・インスタンスの作成後に変更できます。

      • シェイプ: CI.Standard.x86のいずれかを選択します。汎用シェイプまたはCI.Standard.E5。フレックスシェイプ。

        スライダを使用して、必要なOCPUの数と必要なメモリーの合計量をギガバイトで指定します。

      • VNIC

        • 名前: VNICの名前を入力します。デフォルトでは、コンテナ・インスタンス名が使用されます。

        • ネットワーキング

          • プライベートIP: (オプション)使用するプライベートIPアドレスを入力します。

          • ホスト名: (オプション)クラウド・ネットワーク内でDNSを使用している場合は、ホスト名を入力します。ホスト名は、サブネット内のすべてのVNICで一意である必要があります。デフォルトでは、コンテナ・インスタンス名がホスト名に使用されます。

          • パブリックIPの割当て: ボックスはデフォルトで選択されています。このコンテナ・インスタンスにパブリックIPアドレスを割り当てない場合は、ボックスの選択を解除します。

        • サブネット

          1. VCN: リストからVCNを選択してください。VCNが存在するコンパートメントにコンパートメントを変更する必要がある場合があります。

          2. サブネット: リストからサブネットを選択します。

        • ソース宛先チェックのスキップ: (オプション)ソース宛先チェックのスキップ。

      • コンテナ・イメージURL: コンテナ・イメージURIを入力します。コンテナ・イメージは、よく知られた認証局(CA)からの証明書を提供するレジストリから取得する必要があります。プライベートCAによって署名された自己署名証明書または証明書を提供するレジストリは、現時点ではサポートされていません。コンテナ・イメージ・マニフェストは、V2スキーマ2である必要があります。

      • 環境変数: コンテナで使用される環境変数を設定できます。コンテナ・イメージでは、実行をカスタマイズするための環境変数がサポートされています。たとえば、正式なNGINXイメージでは、NGINX_HOSTおよびNGINX_PORT環境変数がサポートされるため、値を設定して実行を次の変数にカスタマイズできます。
        • NGINX_HOST=foobar.com

        • NGINX_PORT=80

        • コマンド引数: コンテナの起動時に実行される実際のコマンドまたはエントリポイントを指定できるため、メイン・アプリケーションの起動、特定のフラグの受渡しまたはカスタム・スクリプトの実行が可能です。この値を設定すると、コンテナ・イメージのデフォルト・コマンドがオーバーライドまたはカスタマイズされます。

        • メモリー制限: インスタンスのシェイプ構成に割り当てられるRAMの最大量を設定できます。

        • vCPU制限: インスタンスのシェイプ構成で利用できる仮想CPUの最大数を設定できます。これにより、使用可能な計算リソースが制限されます。

        • セキュリティ: コンテナのセキュリティ設定を指定できます。

          • 「ユーザーID」および「グループID」フィールドを使用して、ユーザーID (ID)およびグループID (GID)を設定して、コンテナのエントリポイント・プロセスを実行します。
            • 「ユーザーID」および「グループID」の値は、0から65535までの整数である必要があります。デフォルト値は0です。

            • 指定したユーザーIDおよびグループIDの値は、コンテナ・イメージで設定された値をオーバーライドします。「ユーザーID」の値が指定されていない場合、コンテナのエントリポイント・プロセスはrootユーザーとして実行されます。

            • グループIDを設定する前に、ユーザーIDを設定する必要があります。

          • Linux機能の構成: コンテナのLinux機能を構成できます。デフォルトでは、コンテナは複数の機能で起動され、削除を選択できます。

            「追加機能」フィールドと「削除機能」フィールドの両方がALL値をサポートしており、すべての機能を許可または削除します。値ALLは、デフォルトで有効になっているLinux機能を示します。

            • 追加機能と削除機能の両方を空白のままにすると、コンテナのすべてのデフォルト機能が使用可能になります。

            • 「追加機能」フィールドに「ALL」と入力すると、「ドロップ機能」フィールドにリストした機能以外のすべてのデフォルト機能が使用可能になり、「ドロップ機能」フィールドの「ALL」は無視されます。

            • 「ドロップ機能」フィールドに「ALL」と入力した場合、コンテナには「追加機能」フィールドにリストしたデフォルト機能のみが含まれます。

            • その他の場合は、「ドロップ機能」フィールドにリストされたデフォルト・セットからすべての機能を削除し、「追加機能」フィールドにリストされた機能を追加して、最後に結果をコンテナの機能として返します。

            • 次のリストにない機能を指定すると、コンテナ・インスタンスの作成は失敗します。

              機能

              摘要

              CAP_AUDIT_WRITE

              カーネル監査ログにレコードを書き込みます。

              CAP_CHOWN

              ファイルUIDとGIDを変更します。

              CAP_DAC_OVERRIDE

              ファイルの読取り、書込みおよび実行権限チェックをバイパスする任意アクセス制御(DAC)。

              CAP_FOWNER

              プロセスのファイル・システムUIDがファイルのUIDと一致することを通常必要とする操作に対する権限チェックをバイパスし、CAP_DAC_OVERRIDEおよびCAP_DAC_READ_SEARCHでカバーされる操作を除外します。

              CAP_FSETID

              • ファイルの変更時に、set-user-IDおよびset-group-IDモードビットをクリアしません。
              • GIDがfile.systemまたは呼び出しプロセスの補助GIDに一致しないファイルのセットグループIDビットを設定します。

              CAP_KILL

              ioctl(2) KDSIGACCEPT操作の使用を含むシグナル送信の許可チェックをバイパスします。

              CAP_MKNOD

              mknod(2)を使用して特別なファイルを作成します。

              CAP_NET_BIND_SERVICE

              ソケットをインターネット・ドメイン特権ポート(1024未満のポート番号)にバインドします。

              CAP_NET_RAW

              • RAWおよびPACKETソケットを使用します。
              • 透過的プロキシのために任意のアドレスにバインドします。

              CAP_SETFCAP

              ファイル機能を設定します。

              CAP_SETGID

              • プロセスGIDおよび補助GIDリストを操作します。

              • UNIXドメイン・ソケットを介してソケット資格証明を渡すときに、GIDをフォージします。

              • ユーザー・ネームスペースにグループIDマッピングを書き込みます。

              CAP_SETPCAP

              ファイル機能がサポートされていない場合は、呼び出し元の許可された機能内の機能をほかのプロセスに対して、またはほかのプロセスに対して付与または削除します。

              CAP_SETUID

              • プロセスUIDを操作します。

              • UNIXドメイン・ソケットを介してソケット資格証明を渡すときにUIDをフォージします。

              • ユーザー・ネームスペースにユーザーIDマッピングを書き込みます。

              CAP_SYS_CHROOT

              chroot(2)を使用して、別のルートディレクトリに変更します。

      • タグ付け: (オプション)このリソースに1つ以上のタグを追加します。タグは後で適用することもできます。リソースのタグ付けの詳細は、リソース作成時のタグの追加(OCIのIAM)を参照してください。

    4. 「コンテナ・インスタンスの作成」を選択します。

      インスタンス詳細ページが表示されます。「コンテナ・インスタンス情報」タブの「シェイプ構成」セクションには、シェイプ、OCPUの数、ネットワーク帯域幅および合計メモリーが表示されます。「プライマリVNIC」列には、VCNとサブネット、プライマリ・プライベートIPアドレスと割り当てられたパブリックIPアドレス、およびMACアドレスが表示されます。

      コンテナ・インスタンス作成のステータスを確認するには、「リソース」セクションまでスクロールし、「作業リクエスト」を選択します。

      「リソース」セクションで「コンテナ」を選択します。コンテナの名前はcomputecontainer-unique_IDです。

  • コンテナ・インスタンスを作成するには、oci container-instances container-instance createコマンドおよび必須パラメータを使用します。

    oci container-instances container-instance create --availability-domain AD-1 --compartment-id compartment_OCID --containers '[{"imageUrl": "image_url"}]' --shape shape --shape-config '{"ocpus": 2}' --vnics file://network_cofig.json [OPTIONS]

    例:

    oci container-instances container-instance create --availability-domain AD-1 --compartment-id ocid1.compartment.unique_ID --containers file://container_config.json --shape CI.Standard.E5.Flex --shape-config '{"ocpus": 2,"memoryInGBs": 2}' --vnics '[{"subnetId": "ocid1.subnet.unique_ID"}]' 

    CLIコマンド、フラグおよびオプションの完全なリストは、コマンドライン・リファレンスを参照してください。

    プロシージャ

    1. 次の情報を取得してください。

      • コンテナ・インスタンスを作成するコンパートメントのOCID: oci iam compartment list

      • 使用するシェイプの名前次のコマンドを使用して、使用可能なシェイプとその特性をリストします。インスタンスを作成するコンパートメントのOCIDを使用します。

        $ oci container-instances container-instance list-shapes --compartment-id compartment_OCID

        次の例に示すように、シェイプ構成も指定する必要があります。ocpusの値を指定する必要があります。また、memoryInGBsを指定できます。

        --shape-config '{"ocpus": 2, "memoryInGBs": 2}'
      • コンテナ・インスタンスの起動に使用するイメージのURL。任意の外部レジストリからコンテナ・イメージを指定します。イメージは、既知の認証局によって署名され、イメージ・マニフェストは最新バージョンである必要があります。

    2. --vnicsオプションの引数を構築します。

      これは、このコンテナ・インスタンスのコンテナで使用可能なネットワークのリストです。VNICごとに、VNICの名前、使用するサブネットのOCID、プライベートIPアドレス、およびパブリックIPアドレスを割り当てる必要があるかどうかを指定します。

      この引数の構文を表示するには、次のコマンドを使用します。

      $ oci container-instances container-instance create --generate-param-json-input vnics
    3. コンテナ・インスタンスの作成コマンドを実行します。

      構文:

      必須パラメータのみが表示されます。

      oci container-instances container-instance create --availability-domain AD-1 \
      --compartment-id compartment_OCID --containers '[{"imageUrl": "image_url"}]' \
      --shape shape --shape-config '{"ocpus": 2}' \
      --vnics file://network_cofig.json

      例:

      コンテナ・インスタンスの表示名を設定する場合は、特性についてコンソールの手順を参照してください。

      必須パラメータとオプション・パラメータの完全なリストについては、次のコマンドを使用します。

      $ oci compute instance launch -h
      $ oci container-instances container-instance create --availability-domain AD-1 \
      --compartment-id ocid1.compartment.unique_ID --containers file://container_config.json \
      --shape CI.Standard.E5.Flex --shape-config '{"ocpus": 2,"memoryInGBs": 2}' \
      --vnics '[{"subnetId": "ocid1.subnet.unique_ID"}]'

      作業リクエストを表示して、コンテナ・インスタンスの作成ステータスをモニターします。作業リクエストOCIDは、コンテナ・インスタンス作成出力で返されます。

      $ oci container-instances work-request get --work-request-id ocid1.workrequest.unique_ID

      コンテナ・インスタンス作成のステータスが「失敗」の場合は、作業リクエストでレポートされたエラーをリストします。

      $ oci container-instances work-request list-errors --work-request-id ocid1.workrequest.unique_ID
  • CreateContainerInstance操作を使用して、コンテナ・インスタンスを作成します。

    APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。