如何管理镜像

在使用镜像时,您可以查看有关可用镜像的各种信息,查看和编辑其属性并配置别名以引用特定镜像。您还可以将镜像导出到文件,这对于 复制或导入它 到另一台机器很有用。

列出可用镜像

要列出服务器上的所有镜像,请输入以下命令

incus image list [<remote>:]

如果您没有指定远程,则使用 默认远程

筛选可用镜像

要筛选显示的结果,请在命令后指定别名或指纹的一部分。例如,要显示所有 Ubuntu 22.04 镜像,请输入以下命令

incus image list images: 22.04

您也可以指定多个筛选器。例如,要显示所有 Arm 64 位 Ubuntu 22.04 镜像,请输入以下命令

incus image list images: 22.04 arm64

要筛选除别名或指纹以外的属性,请在 <key>=<value> 格式中指定筛选器。例如

incus image list images: 22.04 architecture=x86_64

查看镜像信息

要查看有关镜像的信息,请输入以下命令

incus image info <image_ID>

作为镜像 ID,您可以指定镜像的别名或其指纹。对于远程镜像,请记住包含远程服务器(例如,images:ubuntu/22.04)。

要仅显示镜像属性,请输入以下命令

incus image show <image_ID>

您还可以使用以下命令显示特定镜像属性(位于 properties 键下)

incus image get-property <image_ID> <key>

例如,要显示官方 Ubuntu 22.04 镜像的发布名称,请输入以下命令

incus image get-property images:ubuntu/22.04 release

编辑镜像属性

要设置位于 properties 键下的特定镜像属性,请输入以下命令

incus image set-property <image_ID> <key>

注意

这些属性可用于传达有关镜像的信息。它们不会以任何方式配置 Incus 的行为。

要编辑完整的镜像属性,包括顶级属性,请输入以下命令

incus image edit <image_ID>

删除镜像

要删除镜像的本地副本,请输入以下命令

incus image delete <image_ID>

删除镜像不会影响已经使用它的正在运行的实例,但它会删除本地镜像。

删除后,如果镜像是从远程服务器下载的,它将从本地缓存中删除,并在下次使用时再次下载。但是,如果镜像是手动创建的(未缓存),则镜像将被删除。

配置镜像别名

配置镜像的别名对于更容易引用镜像很有用,因为记住别名通常比记住指纹更容易。最重要的是,您可以更改别名以指向不同的镜像,这允许您创建始终提供最新镜像的别名(例如,发布的最新版本)。

您可以在镜像列表中看到一些现有别名。要查看完整列表,请输入以下命令

incus image alias list

您可以在 复制或导入发布 镜像时直接将别名分配给镜像。或者,请输入以下命令

incus image alias create <alias_name> <image_fingerprint>

您也可以删除别名

incus image alias delete <alias_name>

要重命名别名,请输入以下命令

incus image alias rename <alias_name> <new_alias_name>

如果您想保留别名名称,但将其指向不同的镜像(例如,更新的版本),则必须删除现有别名,然后创建一个新的别名。

将镜像导出到文件

镜像位于您本地服务器或远程 Incus 服务器的镜像存储库中。您也可以将其导出到文件。此方法可以用来备份镜像文件或将其传输到隔离环境。

要将容器镜像导出到文件,请输入以下命令

incus image export [<remote>:]<image> [<output_directory_path>]

要将虚拟机镜像导出到文件,请添加 --vm 标志

incus image export [<remote>:]<image> [<output_directory_path>] --vm

有关用于镜像的文件结构的说明,请参见 镜像格式