![如何在 OpenStack 中使用第二个名称复制图像](https://linux22.com/image/785971/%E5%A6%82%E4%BD%95%E5%9C%A8%20OpenStack%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%AC%AC%E4%BA%8C%E4%B8%AA%E5%90%8D%E7%A7%B0%E5%A4%8D%E5%88%B6%E5%9B%BE%E5%83%8F.png)
假设我有一个名为 的图像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 服务器之间的连接以及镜像的大小,这可能不是理想的选择。