代码之家  ›  专栏  ›  技术社区  ›  szabgab Brandon Fosdick

gCloud只能使用私有映像创建实例

  •  1
  • szabgab Brandon Fosdick  · 技术社区  · 5 年前

    我有一个名为“test-1”的私有映像,可以使用它创建实例

    $ gcloud compute instances create demo --image test-1
    

    但是我不能使用公共形象:

    $ gcloud compute instances create demo --image ubuntu-1804-bionic-v20190204 
    ERROR: (gcloud.compute.instances.create) Could not fetch resource:
     - Invalid value for field 'resource.disks[0].initializeParams.sourceImage': 'https://www.googleapis.com/compute/v1/projects/szabgab-149/global/images/ubuntu-1804-bionic-v20190204'. The referenced image resource cannot be found.
    

    也不是公众形象家族:

    $ gcloud compute instances create demo --image-family ubuntu-1804-lts 
    ERROR: (gcloud.compute.instances.create) Could not fetch resource:
     - The resource 'projects/szabgab-149/global/images/family/ubuntu-1804-lts' was not found
    

    我在这里做错什么了?

    1 回复  |  直到 5 年前
        1
  •  1
  •   Adrian nieto macias grapes    5 年前

    我注意到在生成的错误消息中,您正在生成图像的位置,就好像它位于您的项目中一样,我知道它的名称是 szabgab-149 :

    资源 项目/ SZABGAB-149 /全球/图像/家庭/Ubuntu-1804-LTS'

    问题是公共图像位于它自己的项目中,请参见命令的输出 gcloud compute images list .

    例如, ubuntu-1804-bionic-v20190204 在项目中 ubuntu-os-cloud 以及图像家族 ubuntu-1804-lts .

    要解决这个问题,只需添加 --image-project 标记,从上一个gcloud命令的信息中,执行此命令以使用此特定图像:

    gcloud compute instances create demo \
    --image ubuntu-1804-bionic-v20190204 \
    --image-project ubuntu-os-cloud
    

    或者这个,使用项目下的默认图像 Ubuntu OS云 家人 UBUTU-1804-LTS :

    gcloud compute instances create demo \
    --image-family ubuntu-1804-lts \
    --image-project ubuntu-os-cloud