podcvd を使用してコンテナ内で Cuttlefish をローカルで実行する

podcvd は、各 Cuttlefish インスタンス グループを独自のルートレス Podman コンテナ内で実行するコマンドライン ツールです。podcvd には cvd と同じコマンドライン インターフェースがあるため、cvd create や cvd fleet を実行する場合と同様に podcvd create や podcvd fleet を実行できます。

podcvd の利点

このセクションでは、podcvd の利点について説明します。

インスタンス グループ間の分離

cvd を使用すると、ホスト上のすべてのインスタンス グループが同じネットワーク ポート、ソケット、ランタイム状態を共有します。podcvd では、各インスタンス グループが専用のコンテナで実行されるため、グループが相互に競合したり、ホスト上の他のソフトウェアと競合したりすることはありません。

1 台のホストに複数のクライアント

複数のクライアント(複数のデベロッパーや AI エージェントなど)が、同じホスト上で同時に独自の Cuttlefish デバイスを実行できます。PODCVD_CLIENT_ID 環境変数を設定すると、podcvd コマンドのスコープが 1 つのクライアントのインスタンス グループに限定されるため、1 つのクライアントからの podcvd clear などのコマンドが別のクライアントのデバイスに影響することはありません。Cuttlefish リポジトリには、AI エージェントがデバイスを作成、制御、クリーンアップできるようにする podcvd スキルも用意されています。

cvd と同じインターフェース

これらの違いはありますが、podcvd のコマンドライン インターフェースは cvd とまったく同じです。cvd で使用しているものと同じコマンドとフラグを使用できるため、podcvd に切り替える際に学習曲線は必要ありません。

始める

podcvd のドキュメントは、GitHub の android-cuttlefish リポジトリで管理されています。

  • podcvd: ホストの要件、インストール、ホストの設定、PODCVD_CLIENT_ID
  • コンテナ イメージ: podcvd が使用する cuttlefish-orchestration コンテナ イメージ
  • podcvd スキル: AI エージェントのスキル