如何在 OpenStack 中使用第二个名称复制图像

如何在 OpenStack 中使用第二个名称复制图像

假设我有一个名为 的图像org-image-name,我想创建一个与 相同但名称不同的新图像(例如new-image-name)。如何使用 CLI 执行此操作?或者也许有一个别名功能?

答案1

没有办法直接克隆映像。您可以从映像创建一个卷,然后从该卷创建另一个映像。

openstack volume create --image myimage tempvol
openstack image create --volume tempvol cloned-image
openstack volume delete tempvol

但是速度取决于您的存储后端。使用适当的后端(例如 ceph)和适当的硬件,创建操作应该几乎是即时的。

答案2

这也在我的测试环境中有效:

root@control01:~# openstack image save <IMAGE> | openstack image create --public <NEW_IMAGE>

如果您没有为“save”命令指定文件名,它将转到 stdout,您可以在 image create 命令中读取它。因为这是一个非常重要的评论,所以我将 Gerald 的评论添加到答案中:

请注意,这将逐字逐句地下载并重新上传镜像到您运行此命令的机器上。根据机器和 OpenStack API 服务器之间的连接以及镜像的大小,这可能不是理想的选择。

相关内容