如何复制和导入镜像

要将镜像添加到镜像存储中,您可以从另一台服务器复制它们,或者从文件(本地文件或网络服务器上的文件)导入它们。

从远程复制镜像

要将镜像从一台服务器复制到另一台服务器,请输入以下命令

incus image copy [<source_remote>:]<image> <target_remote>:

注意

要将镜像复制到您的本地镜像存储中,请指定 local: 作为目标远程。

请参阅 incus image copy --help 以获取所有可用标志的列表。最相关的标志是

--alias

为镜像副本分配别名。

--copy-aliases

复制源镜像具有的别名。

--auto-update

使副本与原始镜像保持最新。

--vm

从别名复制时,复制可用于创建虚拟机的镜像。

从文件导入镜像

如果您有使用所需 镜像格式 的镜像文件,则可以将它们导入到您的镜像存储中。

有几种方法可以获取此类镜像文件

从本地文件系统导入

要从本地文件系统导入镜像,请使用 incus image import 命令。此命令支持 统一镜像(压缩文件或目录)和 拆分镜像(两个文件)。

要从一个文件或目录导入统一镜像,请输入以下命令

incus image import <image_file_or_directory_path> [<target_remote>:]

要导入拆分镜像,请输入以下命令

incus image import <metadata_tarball_path> <rootfs_tarball_path> [<target_remote>:]

在这两种情况下,您都可以使用 --alias 标志分配别名。请参阅 incus image import --help 以获取所有可用标志。

从远程网络服务器上的文件导入

您可以通过 URL 从远程网络服务器导入镜像文件。此方法是运行 Incus 服务器以用于将镜像分发给用户的替代方法。它只需要一个支持自定义标头的基本网络服务器(请参阅 自定义 HTTP 标头)。

镜像文件必须作为统一镜像提供(请参阅 统一 tarball)。

要从远程网络服务器导入镜像文件,请输入以下命令

incus image import <URL>

您可以使用 --alias 标志为本地镜像分配别名。

自定义 HTTP 标头

Incus 要求网络服务器设置以下自定义 HTTP 标头

Incus-Image-Hash

正在下载的镜像的 SHA256。

Incus-Image-URL

从中下载镜像的 URL。

Incus 在查询服务器时设置以下标头

Incus-Server-Architectures

客户端支持的架构的逗号分隔列表。

Incus-Server-Version

正在使用的 Incus 版本。