如何使用不同的项目

如果您有多个项目,而不仅仅是 default 项目,则必须确保在使用 Incus 时使用或指定正确的项目。

注意

如果您拥有 限制给特定用户 的项目,则只有具有 Incus 完全访问权限的用户才能看到所有项目。

没有完全访问权限的用户只能看到他们有权访问的项目的相关信息。

列出项目

要列出所有项目(您有权查看的项目),请输入以下命令

incus project list

默认情况下,输出以列表形式呈现

user@host:~$ incus project list
+----------------------+--------+----------+-----------------+-----------------+----------+---------------+---------------------+---------+|      NAME            | IMAGES | PROFILES | STORAGE VOLUMES | STORAGE BUCKETS | NETWORKS | NETWORK ZONES |     DESCRIPTION     | USED BY |+----------------------+--------+----------+-----------------+-----------------+----------+---------------+---------------------+---------+| default              | YES    | YES      | YES             | YES             | YES      | YES           | Default Incus project | 19      |+----------------------+--------+----------+-----------------+-----------------+----------+---------------+---------------------+---------+| my-project (current) | YES    | NO       | NO              | NO              | YES      | YES           |                     | 0       |+----------------------+--------+----------+-----------------+-----------------+----------+---------------+---------------------+---------+

您可以通过添加 --format 标志来请求不同的输出格式。有关更多信息,请参阅 incus project list --help

切换项目

默认情况下,您在 Incus 中发出的所有命令都会影响您当前使用的项目。要查看您所在的项目,请使用 incus project list 命令。

要切换到不同的项目,请输入以下命令

incus project switch <project_name>

指定项目

您可以不切换到不同的项目,而是在运行命令时指定特定的项目。许多 Incus 命令都支持 --project 标志,以便在不同的项目中执行操作。

注意

您只能指定您有权限的项目。

以下部分提供了一些典型示例,说明在哪些情况下您应该将项目设为目标,而不是切换到该项目。

列出项目中的实例

要列出特定项目中的实例,请将--project标志添加到incus list命令中。例如

incus list --project my-project

将实例移动到另一个项目

要将实例从一个项目移动到另一个项目,请输入以下命令

incus move <instance_name> <new_instance_name> --project <source_project> --target-project <target_project>

如果目标项目中不存在同名的实例,则可以保留相同的实例名称。

例如,要将实例my-instancedefault项目移动到my-project并保留实例名称,请输入以下命令

incus move my-instance my-instance --project default --target-project my-project

将配置文件复制到另一个项目

如果您使用默认设置创建项目,则配置文件在项目中是隔离的(features.profiles设置为true)。因此,该项目无法访问默认配置文件(它是default项目的一部分),并且在尝试创建实例时,您将看到类似以下内容的错误

user@host:~$ incus launch images:ubuntu/22.04 my-instance
Creating my-instanceError: Failed instance creation: Failed creating instance record: Failed initializing instance: Failed getting root disk: No root device could be found

要解决此问题,您可以将default项目的默认配置文件内容复制到当前项目的默认配置文件中。为此,请输入以下命令

incus profile show default --project default | incus profile edit default