VM と MIG へのコンテナのデプロイ

Docker コンテナをデプロイして起動するように仮想マシン(VM)インスタンスまたはインスタンス テンプレートを構成できます。Compute Engine は、VM の起動時に、Docker がインストールされた最新の Container-Optimized OS(COS)イメージを使用してコンテナを起動します。

始める前に

VM および MIG へのコンテナのデプロイを選択する

Compute Engine にコンテナをデプロイすることで、VM インフラストラクチャを調整しながらアプリのデプロイの簡素化を実現できます。

  • コンテナを実行する VM の管理は、Compute Engine インフラストラクチャの構成や管理に他の VM を扱う場合と同じように行います。
  • コンテナを実行するマネージド インスタンス グループ(MIG)を使用して、自動スケーリング、自動修復、ローリング更新、マルチゾーンのデプロイ、負荷分散などの機能を提供するスケーラブルなサービスを構築します。
  • コンテナをデプロイした VM の管理にも、gcloud コマンドライン ツールや Compute Engine API など、使い慣れたプロセスやツールを使用できます。

以下のような必要がある場合は、Google Kubernetes Engine へのデプロイを検討されることをおすすめします。

  • マイクロサービスを大量に実行する
  • コンテナの起動時間を短縮する
  • 自動アップグレード、ノードの自動修復、自動スケーリングなど、Kubernetes 自動オーケストレーションを活用する

Compute Engine の仮想マシン(VM)ごとに個別のマイクロサービスを実行すると、コストの大部分をオペレーティング システムのオーバーヘッドが占める可能性が生じます。Google Kubernetes Engine を使用すると、VM インスタンスごとに複数のコンテナやコンテナ グループをデプロイできるので、より小さなフットプリントでより効率的にホスト VM のリソースをマイクロサービスに割り当てることができます。

Compute Engine へのコンテナのデプロイの仕組み

Compute Engine の VM インスタンスにソフトウェアをデプロイする一般的な方法は次のとおりです。

  • 起動スクリプトまたは cloud-init を使用して、VM の起動時にソフトウェアをデプロイする。
  • ソフトウェアがプリインストールされたカスタム ブートディスク イメージを作成する。

上記のどちらの方法も、アプリの構成タスクとオペレーティング システム環境の設定タスクが組み込まれています。デベロッパーは、ランタイムの依存関係を慎重に追跡管理し、解決する必要があります。たとえば、1 つの VM で実行される 2 つのアプリが同じライブラリの異なるバージョンを使用する場合は、両方のバージョンをインストールし、システム変数で参照する必要があります。

同じライブラリの異なるバージョンを使用するアプリ。
アプリがオペレーティング システムに直接デプロイされた VM インスタンス

上記の方法とは別に、コンテナにソフトウェアをデプロイし、VM インスタンスまたは MIG にコンテナをデプロイすることもできます。この場合、コンテナにはアプリケーション ソフトウェアと必要なライブラリの両方が含まれ、OS のアプリやライブラリからは切り離されています。コンテナはデプロイ環境間を簡単に移動でき、コンテナと OS 間でライブラリ バージョンの競合を解決する必要もありません。

コンテナ内のアプリ。
アプリがコンテナにデプロイされている VM インスタンス

次のプロセスでは、Compute Engine にコンテナをデプロイする方法について説明します。

  1. アプリと必要なライブラリを Docker イメージにバンドルし、そのイメージを Artifact RegistryContainer Registry、または Docker Hub などのサードパーティ レジストリに公開します。
  2. VM インスタンスまたは MIG のインスタンス テンプレートを作成するときに、Docker イメージ名と docker run 構成を指定します。

VM インスタンスの作成をリクエストすると、Compute Engine によって次のタスクが実行されます。

  1. Compute Engine は、Google が提供する Container-Optimized OS イメージを使用する VM インスタンスを作成します。このイメージには、コンテナの起動に必要な Docker ランタイムと追加のソフトウェアが含まれています。
  2. コンテナの設定をインスタンス メタデータgce-container-declaration メタデータキーに保存します。
  3. VM が起動すると、Container-Optimized OS イメージは、インスタンスのメタデータに格納されている docker run コマンド構成を使用し、リポジトリからコンテナ イメージをプルして、コンテナを起動します。
コンテナ イメージと docker run コマンドの使用。
コンテナを実行する VM インスタンスまたはマネージド インスタンス グループを作成する手順

制限事項

  • 各 VM インスタンスにデプロイできるコンテナは 1 つのみです。1 つの VM インスタンスに複数のコンテナをデプロイする必要がある場合は、Google Kubernetes Engine を検討してください。
  • 公開リポジトリまたはアクセス権のある限定公開の Container Registry リポジトリからのみコンテナをデプロイできます。他の非公開リポジトリはサポートされていません。
  • VM インスタンスのポートをコンテナのポート(Docker の -p オプション)にマッピングすることはできません。
  • このデプロイ方法で使用できるのは、Container-Optimized OS イメージのみです。
  • この機能は Google Cloud Console または gcloud コマンドライン ツールからのみ使用できます(API からは利用できません)。

デプロイのためのコンテナの準備

次のいずれかの方法を選択して、Compute Engine がコンテナ イメージにアクセスできるようにします。

  • Docker イメージを Container Registry にアップロードします。
  • Docker Hub や他のレジストリで一般公開されているコンテナ イメージを使用します。

新しい VM インスタンスへのコンテナのデプロイ

コンテナを新しい VM インスタンスにデプロイするには、Google Cloud Console または gcloud コマンドライン ツールを使用します。

Console

次の例では、Google 提供の Nginx Docker イメージ https://gcr.io/cloud-marketplace/google/nginx1:latest から作成されたコンテナを VM インスタンスにデプロイします。別の Docker イメージを使用するには、下記の例で、目的のイメージを代わりに指定してください。

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. [インスタンスを作成] をクリックしてインスタンスを作成します。

  3. [コンテナ] で、[コンテナ イメージをデプロイします] を選択します。

  4. [コンテナ イメージ] で、コンテナ イメージ名を指定し、必要に応じてコンテナの実行オプションを構成します。たとえば、コンテナ イメージとして gcr.io/cloud-marketplace/google/nginx1:latest を指定できます。

  5. [作成] をクリックします。

gcloud

gcloud compute instances create-with-container コマンドを使用します。

gcloud compute instances create-with-container VM_NAME \
    --container-image DOCKER_IMAGE

たとえば次のコマンドは、nginx-vm という名前の新しい VM インスタンスを作成します。この VM インスタンスは Docker イメージ gcr.io/cloud-marketplace/google/nginx1:latest を起動して実行します。

gcloud compute instances create-with-container nginx-vm \
    --container-image gcr.io/cloud-marketplace/google/nginx1:latest

詳しくは、gcloud compute instances create-with-container コマンドをご覧ください。

Docker Hub の公開イメージを使用する場合は、常に完全な Docker イメージ名を指定する必要があります。たとえば、Apache コンテナ イメージをデプロイするには、次のイメージ名を指定します。

docker.io/httpd:2.4

VM インスタンスのコンテナの更新

VM インスタンスのコンテナで実行されている Docker イメージや実行オプションの構成を更新するには、Google Cloud Console または gcloud コマンドライン ツールを使用します。

コンテナを実行する VM が更新されると、Compute Engine は次の 2 つの手順を実行します。

  • インスタンスのコンテナ宣言を更新します。更新されたコンテナ宣言をインスタンス メタデータgce-container-declaration メタデータキーに保存します。
  • インスタンスが実行されている場合は、インスタンスを停止して再起動し、更新した構成を有効にします。インスタンスが停止している場合は、コンテナ宣言を更新し、インスタンスを停止したままにします。VM インスタンスは、VM の起動時に新しいイメージをダウンロードして、コンテナを起動します。

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 更新するインスタンスの名前をクリックします。

  3. インスタンスの詳細ページで、[編集] をクリックします。

  4. 新しいコンテナ イメージを指定し、必要に応じてコンテナの実行オプションを更新します。

  5. [保存して再起動] をクリックして変更を保存します。Compute Engine は変更を保存し、インスタンスを自動的に再起動して更新を実行します。VM が再起動すると、新しいイメージをダウンロードし、更新された構成でコンテナを起動します。

gcloud

gcloud compute instances update-container コマンドを使用してコンテナ宣言を更新します。例:

gcloud compute instances update-container nginx-vm \
    --container-image gcr.io/cloud-marketplace/google/nginx1:latest

このコマンドは、コンテナ イメージを gcr.io/cloud-marketplace/google/nginx1:latest に設定し、インスタンスを再起動して変更を有効にします。また、コンテナの実行オプションの構成で説明されているプロパティに対応するフラグを追加して、設定を更新できます。

インスタンスが再起動した後、新しいコンテナ イメージをダウンロードして、新しい構成でコンテナを起動します。

マネージド インスタンス グループへのコンテナのデプロイ

新しいマネージド インスタンス グループ(MIG)にコンテナをデプロイするには、Google Cloud Console または gcloud コマンドライン ツールを使用できます。手順は次のとおりです。

  1. Docker イメージに基づいてインスタンス テンプレートを作成します。

  2. 新しいインスタンス テンプレートから MIG を作成します。

Console

次の例では、Google 提供の Nginx(gcr.io/cloud-marketplace/google/nginx1:15)Docker イメージからコンテナを MIG にデプロイするインスタンス テンプレートを作成します。他の Docker イメージを使用するには、次の例で gcr.io/cloud-marketplace/google/nginx1:15 の代わりに目的のイメージを指定します。

  1. Google Cloud Console で、[インスタンス テンプレート] ページに移動します。

    [インスタンス テンプレート] ページに移動

  2. インスタンス テンプレートを作成するには、[インスタンス テンプレートを作成] をクリックします。

  3. [コンテナ] で、[コンテナ イメージをデプロイします] を選択します。

  4. [コンテナ イメージ] で、Docker イメージ名を指定し、必要に応じてコンテナの実行オプションを構成します。たとえば、コンテナ イメージとして gcr.io/cloud-marketplace/google/nginx1:15 を指定できます。

  5. [作成] をクリックします。

次に、新しいインスタンス テンプレートを使用する MIG を作成します。

gcloud

gcloud compute instance-templates create-with-container コマンドを使用して、Docker イメージを実行するためのインスタンス テンプレートを作成します。

gcloud compute instance-templates create-with-container TEMPLATE_NAME \
  --container-image DOCKER_IMAGE

必要に応じて、コンテナの実行オプションを構成することもできます。

たとえば次のコマンドは、nginx-template という名前の新しいインスタンス テンプレートを作成します。これには、Docker イメージに関する情報が含まれます。このテンプレートから作成された VM インスタンスは、起動時に Docker イメージ gcr.io/cloud-marketplace/google/nginx1:15 を起動して実行します。

gcloud compute instance-templates create-with-container nginx-template \
    --container-image gcr.io/cloud-marketplace/google/nginx1:15

次に、新しいインスタンス テンプレートを使用して MIG を作成します。

これでインスタンス テンプレートが作成されたので、そのインスタンス テンプレートを使用する MIG を作成できます。たとえば、gcloud ツールと先ほど作成した nginx-template を使用して MIG を作成するには、次のコマンドを実行します。

gcloud compute instance-groups managed create example-group \
    --base-instance-name nginx-vm \
    --size 3 \
    --template nginx-template

コンテナを実行しているマネージド インスタンス グループの更新

Docker イメージの新しいバージョンまたは Container-Optimized OS イメージの新しいバージョンをデプロイするには、マネージド インスタンス グループ(MIG)を更新します。

MIG をコンテナ イメージの新しいバージョンに更新する

Managed Instance Group Updater を使用して、新しいバージョンの Docker イメージを MIG にデプロイできます。

  1. デプロイ用の新しい Docker イメージを準備します。
  2. コンテナベースのテンプレートを作成すると同じ方法で、新しい Docker イメージに基づいてインスタンス テンプレートを作成します。
  3. Managed Instance Group Updater を使用して、MIG を新しいインスタンス テンプレートに更新します。

マネージド インスタンス グループの Container-Optimized OS イメージを新しいバージョンに更新する

Google では Container-Optimized OS イメージを定期的に更新しています。これらの更新を Docker イメージを変更せずに、コンテナ化された MIG に適用できます。Google Cloud Console または gcloud コマンドライン ツールを使用して、次の 2 つのステップで MIG を Container-Optimized OS イメージの新しいバージョンに更新できます。

  1. 新しい MIG のコンテナベースのテンプレートを作成すると同じ方法で、現在のバージョンの Docker イメージに基づいてインスタンス テンプレートを作成します。サポートされている最新バージョンの Container-Optimized OS イメージがデフォルトで使用されます。
  2. Managed Instance Group Updater を使用して、新しいインスタンス テンプレートで MIG を更新します。

SSH を使用したコンテナへの接続

VM 上のコンテナには、SSH を使用して接続できます。gcloud ツールを使用して、gcloud compute ssh--container フラグを指定して実行します。

gcloud compute ssh VM_NAME --container CONTAINER_NAME

以下を置き換えます。

  • VM_NAME: VM インスタンスの名前
  • CONTAINER_NAME: コンテナの名前

詳細については、gcloud compute ssh コマンドとその引数の詳細をご覧ください。

ログの表示

コンテナに関連する次の 3 種類のログを表示できます。

  1. 起動エージェントのログkonlet ログとも呼ばれます)。起動エージェントはコンテナの構成を解析し、Compute Engine VM インスタンスでコンテナを起動するタスクを実行します。

  2. Docker イベントログ。コンテナの開始イベントと停止イベントなどのコンテナ イベントをレポートします。このログは COS 69 以降を使用している場合に利用できます。

  3. コンテナからのログ。コンテナ内で実行されるアプリの STDOUT が記録されます。

起動エージェントのログの表示

起動エージェントのログは、シリアル コンソール内、OS イメージに含まれる journald システム サービス、または Cloud Logging で表示できます。

シリアル コンソールでの起動エージェントのログの表示

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 起動エージェントのログを表示する VM インスタンスを選択します。

  3. [ログ] の下の [シリアルポート 1(コンソール)] をクリックして、シリアル コンソールのログを表示します。

    シリアルポート 1 のログ。

gcloud

インスタンスのシリアルポートのログを表示するには、get-serial-port-output コマンドを使用します。

gcloud compute instances get-serial-port-output VM_NAME

VM_NAME は VM インスタンスの名前に置き換えます。

たとえば、次のコマンドを使用すると、nginx-vm という VM インスタンスのシリアルポート出力が表示されます。

gcloud compute instances get-serial-port-output nginx-vm

journald で起動エージェントのログを表示する

  1. SSH を使用してコンテナを含むインスタンスに接続します。
  2. sudo journalctl コマンドを実行して、VM の起動ログとコンテナの起動ログを表示します。コンテナの起動エージェントのログ(konlet)でフィルタするには、次のコマンドを使用します。

    sudo journalctl -u konlet*
    

Logging で起動エージェントのログを表示する

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 起動エージェントのログを表示する VM インスタンスを選択します。

  3. [ログ] で [Cloud Logging] をクリックして、Cloud Logging のログを表示します。

    シリアルポート 1 のログ。

  4. 検索フィルタを入力して、起動エージェント ログを取得します。

    COS 68 以前を使用している場合は、次のフィルタを使用します。

    resource.type="global"
    logName="projects/PROJECT_ID/logs/gcplogs-docker-driver"
    jsonPayload.container.imageName:"gcr.io/gce-containers/konlet"
    jsonPayload.instance.name="VM_NAME"
    

    COS 69 以降を使用している場合は、次のフィルタを使用します。

    resource.type="gce_instance"
    logName="projects/PROJECT_ID/logs/cos_system"
    jsonPayload.SYSLOG_IDENTIFIER="konlet-startup"
    jsonPayload._HOSTNAME="VM_NAME"
    

    以下を置き換えます。

    • PROJECT_ID: インスタンスが含まれるプロジェクト ID
    • VM_NAME: ログを取得するインスタンスの名前

gcloud

コンテナの起動エージェント ログを表示するには、適切なフィルタを設定した gcloud logging read コマンドを使用します。

COS 68 以前を使用している場合は、次のコマンドとフィルタを使用します。

gcloud logging read "resource.type=global AND \
    logName=projects/PROJECT_ID/logs/gcplogs-docker-driver AND \
    jsonPayload.instance.name=VM_NAME"

COS 69 以降を使用している場合は、次のコマンドとフィルタを使用します。

gcloud logging read "resource.type=gce_instance AND \
    logName=projects/PROJECT_ID/logs/cos_system AND \
    jsonPayload.SYSLOG_IDENTIFIER=konlet-startup AND \
    jsonPayload._HOSTNAME=VM_NAME"

以下を置き換えます。

  • PROJECT_ID: インスタンスが含まれるプロジェクト ID
  • VM_NAME: ログを取得するインスタンスの名前

たとえば、my-project に存在し、COS 70 を実行している nginx-vm という名前の VM インスタンスの最新 10 件の起動エージェント ログを Logging で表示するには、次のコマンドを使用します。

gcloud logging read "resource.type=gce_instance AND \
    logName=projects/my-project/logs/cos_system AND \
    jsonPayload.SYSLOG_IDENTIFIER=konlet-startup AND \
    jsonPayload._HOSTNAME=nginx-vm" \
    --limit 10

Docker イベントログの表示

COS 69 以降では、journald と Cloud Logging で Docker イベントログを表示できます。

journald で Docker イベントログを表示する

  1. SSH を使用してコンテナを含むインスタンスに接続します。
  2. 次のフィルタを使用して sudo journalctl コマンドを実行し、Docker イベントログを表示します。

    sudo journalctl -u docker-events-collector
    

Logging で Docker イベントログを表示する

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 起動エージェントのログを表示する VM インスタンスを選択します。

  3. [ログ] で [Cloud Logging] をクリックして、Cloud Logging のログを表示します。

    シリアルポート 1 のログ。

  4. 次の検索フィルタを入力して、Docker イベントログを取得します。

    resource.type="gce_instance"
    logName="projects/PROJECT_ID/logs/cos_system"
    jsonPayload._HOSTNAME="VM_NAME"
    jsonPayload.SYSLOG_IDENTIFIER="docker"
    

    以下を置き換えます。

    • PROJECT_ID: インスタンスが含まれるプロジェクト ID
    • VM_NAME: ログを取得するインスタンスの名前

gcloud

適切なフィルタを設定した gcloud logging read コマンドを使用して、Docker イベントログを表示します。

gcloud logging read "resource.type=gce_instance AND \
    logName=projects/PROJECT_ID/logs/cos_system AND \
    jsonPayload._HOSTNAME=VM_NAME AND \
    jsonPayload.SYSLOG_IDENTIFIER=docker"

以下を置き換えます。

  • PROJECT_ID: インスタンスが含まれるプロジェクト ID
  • VM_NAME: ログを取得するインスタンスの名前

たとえば、my-project に存在し、COS 70 を実行している nginx-vm という名前の VM インスタンスの最新 10 件の Docker イベントログを Logging で表示するには、次のコマンドを使用します。

gcloud logging read "resource.type=gce_instance AND \
    logName=projects/my-project/logs/cos_system AND \
    jsonPayload._HOSTNAME=nginx-vm AND \
    jsonPayload.SYSLOG_IDENTIFIER=docker" \
    --limit 10

コンテナのログの表示

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 起動エージェントのログを表示する VM インスタンスを選択します。

  3. [ログ] で [Cloud Logging] をクリックして、Cloud Logging のログを表示します。

    シリアルポート 1 のログ。

  4. [Cloud Logging] ページにデフォルトの検索フィルタが読み込まれます。COS 69 以降を使用している場合は、フィルタを調べて resource.labels.instance_id の値をコピーします。これは後で使用します。

  5. 検索フィルタを更新して、コンテナのログを取得します。

    COS 68 以前を使用している場合は、次のフィルタを使用します。

    logName="projects/PROJECT_ID/logs/gcplogs-docker-driver"
    jsonPayload.container.name="/VM_NAME"
    

    以下を置き換えます。

    • PROJECT_ID: インスタンスが含まれるプロジェクト ID
    • VM_NAME: ログを取得するインスタンスの名前

    COS 69 以降を使用している場合は、次のフィルタを使用します。

    resource.type="gce_instance"
    logName="projects/PROJECT_ID/logs/cos_containers"
    resource.labels.instance_id="INSTANCE_ID"
    

    以下を置き換えます。

    • PROJECT_ID: インスタンスが含まれるプロジェクト ID
    • INSTANCE_ID: ログを取得するインスタンスの ID

gcloud

適切なフィルタを設定した gcloud logging read コマンドを使用して、コンテナのログを表示します。

COS 68 以前を使用している場合は、次のコマンドとフィルタを使用します。

gcloud logging read "logName=projects/PROJECT_ID/logs/gcplogs-docker-driver AND \
    jsonPayload.container.name=/VM_NAME"

COS 69 以降を使用している場合は、次のようにします。

  1. ログを取得するインスタンスの ID を判別します。

    gcloud compute instances describe VM_NAME \
       --zone ZONE \
       --format="value(id)"
    

    以下を置き換えます。

    • `<ZONEVM_NAME: the zone where the instance is located
    • `VM_NAMEVM_NAME: the name of the instance that you want to get logs for
  2. インスタンスのコンテナのログを表示するには、次のコマンドとフィルタを使用します。

    gcloud logging read "resource.type=gce_instance AND \
        logName=projects/PROJECT_ID/logs/cos_containers AND \
        resource.labels.instance_id=INSTANCE_ID"
    

    以下を置き換えます。

    • PROJECT_ID: インスタンスが含まれるプロジェクトの ID。
    • INSTANCE_ID: インスタンスの ID。

    たとえば、次のコマンドを使用して、my-project に存在し、インスタンス ID が 555123456789012345 の COS 70 を実行している VM インスタンスの Cloud Logging の最後の 10 個のコンテナログを表示します。

    gcloud logging read "resource.type=gce_instance AND \
        logName=projects/my-project/logs/cos_containers AND \
        resource.labels.instance_id=555123456789012345" \
        --limit 10
    

コンテナ用に最適化されたイメージまたはイメージ ファミリーの指定

デフォルトでは、コンテナ化された VM インスタンスまたはインスタンス テンプレートの作成には、サポートされている最新のコンテナ用に最適化されたイメージ(COS)が使用されます。このイメージは cos-cloud プロジェクトにあります。

このデフォルトは、イメージ ファミリー cos-stablecos-betacos-dev の別のイメージでオーバーライドできます(すべて cos-cloud プロジェクトにあります)。

これらのイメージ ファミリーに含まれるコンテナ用に最適化されたイメージには、次の 3 つのリリース チャネルがあります。

  • dev チャネルには最新の変更がすべて含まれており、頻繁に更新されます。
  • beta チャネルはベータ版の限定イメージであり、それほど頻繁には更新されません。
  • stable チャネルでは、長いテスト期間を経てサポートされているリリースが提供されます。クリティカルな更新がまれに発生します(必要な場合)。

たとえば、gcloud ツールを使用して、デフォルトのコンテナ用に最適化されたイメージをオーバーライドする場合は、--image フラグを指定します。また、VM 作成時に指定されたファミリーから最新のイメージを取得する場合は、--image-family フラグを指定します。

次の例では、cos-dev イメージ ファミリーの最新のイメージを使用する、コンテナ化された VM インスタンスを作成します。

gcloud compute instances create-with-container nginx-vm \
    --image-family cos-dev \
    --image-project cos-cloud \
    --container-image gcr.io/cloud-marketplace/google/nginx1:1.15

ファイアウォール ルールの構成

コンテナ化された VM は、ネットワークをホストモードに設定してコンテナを起動します。コンテナはホストのネットワーク スタックを共有し、ホストのインターフェースをすべて使用できます。

Google Cloud のファイアウォール ルールデフォルトでは、VM インスタンスへのすべての受信接続がブロックされ、VM インスタンスからのすべての送信接続が許可されます。

インスタンスおよびコンテナへの受信接続を許可するには、ファイアウォール ルールを作成します。

コンテナの実行オプションの構成

コンテナを実行する場合に、次のオプションを構成できます。

  • コンテナの再起動ポリシーを指定します。
  • コンテナ ENTRYPOINT(コンテナの起動時に実行されるデフォルトのコマンド)をオーバーライドします。
  • コンテナの ENTRYPOINT コマンドに引数を渡します。
  • 特権モードでコンテナを実行します。
  • ホスト ディレクトリまたは tmpfs をコンテナ内のデータ ボリュームとしてマウントします。
  • 環境変数を設定します。
  • コンテナ ランタイムに STDIN のバッファを割り当てます。
  • 疑似 TTY を割り当てます。

コンテナを実行する際のオプションの構成をご覧ください。

次のステップ