如何从另一个项目中的一个项目重新创build一个谷歌计算引擎虚拟机?

我在GCE的项目A中创build了一个虚拟机。 我想在另一个项目B中创build一个基于这个VM的新实例。

我想我可以基于磁盘快照产生一个新的实例。 不过,我找不到在项目中传输这样的快照的任何选项。

我的问题是:

1)如何在Google云端平台项目中跨项目传输磁盘快照?

2)有没有更好的方法来实现这个比使用docker图像?

您首先必须在您的old-project创build一个图像

 gcloud compute images create "my-image" --source-disk "my-disk" 

现在,您可以在另一个项目中创build一台机器,因为图像是全局资源:

 gcloud compute instances create "my-instance" \ --image "my-image" \ --image-project "new-project" 

还有其他解决scheme 。

由于我无法closures源虚拟机,因为它正在生产环境中使用,所以我必须使用以下步骤在另一个项目中创build镜像虚拟机:

1)创build源虚拟机启动盘的快照

2)在目标项目中根据此快照创build一个磁盘

  gcloud compute disks create vm-prod-disk --source-snapshot \ https://www.googleapis.com/compute/v1/projects/<source-\ project>/global/snapshots/<source-vm-snapshot> --project target-project 

3)从步骤2创build一个基于新磁盘的虚拟机

 gcloud compute instances create vm-prod-duplicate \ --project target-project --disk name=vm-prod-disk,boot=yes