使用Cloud Build创建带容器的GCE VM时--enable-display-device报错
问题原因
gcloud compute instances create-with-container 是专门用于直接创建带容器的VM实例的命令,它的参数集和普通创建VM的 gcloud compute instances create 并不完全重叠。--enable-display-device 是后者支持的参数,前者的官方文档里确实没有收录,所以直接把UI生成的普通VM命令里的这个参数放到 create-with-container 里执行会报错。
解决方案
不要用单条 create-with-container 命令,拆分两步执行:
- 先创建带显示设备的空VM实例:
gcloud compute instances create [INSTANCE_NAME] --enable-display-device [其他必要参数,比如机器类型、区域等]
- 再给这个已创建的实例挂载容器:
gcloud compute instances update-container [INSTANCE_NAME] --container-image [你的容器镜像地址] [其他容器相关参数]
对应cloudbuild.yaml示例
steps: - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' args: ['compute', 'instances', 'create', 'my-vm', '--enable-display-device', '--zone', 'us-central1-a', '--machine-type', 'e2-medium'] - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' args: ['compute', 'instances', 'update-container', 'my-vm', '--container-image', 'gcr.io/my-project/my-image:latest']
内容的提问来源于stack exchange,提问作者engineer-x
相关产品推荐
相关产品推荐

