使用 podcvd 在容器中本地运行 Cuttlefish

podcvd 是一个命令行工具,可在其自己的无根 Podman 容器中运行每个 Cuttlefish 实例组。podcvd 具有与 cvd 相同的命令行界面,因此您可以像运行 cvd create 或 cvd fleet 一样运行 podcvd create 或 podcvd fleet。

podcvd 的优势

本部分介绍了 podcvd 的优势。

实例组之间的隔离

使用 cvd 时,主机上的所有实例组都共享相同的网络端口、套接字和运行时状态。借助 podcvd,每个实例组都在专用容器中运行,因此各组之间不会相互冲突,也不会与主机上的其他软件发生冲突。

一个主机上有多个客户端

多个客户端(例如多位开发者或 AI 智能体)可以同时在同一主机上运行各自的 Cuttlefish 设备。设置 PODCVD_CLIENT_ID 环境变量会将 podcvd 命令的作用域限定为一个客户端的实例组,因此一个客户端发出的命令(例如 podcvd clear)不会影响另一个客户端的设备。Cuttlefish 代码库还提供 podcvd 技能,让 AI 智能体能够创建、控制和清理设备。

与 cvd 相同的接口

尽管存在这些差异,podcvd 具有与 cvd 完全相同的命令行界面。您可以使用已在 cvd 中使用的相同命令和标志,因此切换到 podcvd 时无需学习新知识。

开始使用

podcvd 文档在 GitHub 上的 android-cuttlefish 代码库中维护:

  • podcvd:主机要求、安装、主机设置和 PODCVD_CLIENT_ID
  • 容器映像:podcvd 使用的 cuttlefish-orchestration 容器映像
  • podcvd 技能:AI 智能体的技能