You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法使用Artifact Registry自定义镜像创建Google Cloud VM

问题描述
  • 可通过Google Cloud CLI创建VM,但无法使用Artifact Registry中的自定义镜像完成操作
  • 使用Node.js版Google Cloud SDK时,仅能借助公开模板创建VM,无法使用自定义镜像
  • 运行Cloud控制台生成的CLI命令失败,报错:ERROR: (gcloud.compute.instances.create-with-container) argument --network-interface: valid keys are [address, aliases,...
CLI命令问题分析

报错核心原因是--network-interface参数中包含了不合法的键。network-tier和stack-type属于全局独立参数,不能嵌套在--network-interface的键值对里。

原命令中:

--network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default

这一行不符合参数格式要求,需要拆分为三个独立参数:

--network-interface=subnet=default \
--network-tier=PREMIUM \
--stack-type=IPV4_ONLY

修正后的完整CLI命令

gcloud compute instances create-with-container instance-1 \
    --project=<project name> \
    --zone=<zone> \
    --machine-type=e2-micro \
    --network-interface=subnet=default \
    --network-tier=PREMIUM \
    --stack-type=IPV4_ONLY \
    --maintenance-policy=MIGRATE \
    --provisioning-model=STANDARD \
    --service-account=<service account> \
    --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append \
    --image=projects/cos-cloud/global/images/cos-stable-105-17412-101-13 \
    --boot-disk-size=10GB \
    --boot-disk-type=pd-balanced \
    --boot-disk-device-name=instance-1 \
    --container-image=<完整Artifact Registry镜像地址> \
    --container-restart-policy=always \
    --no-shielded-secure-boot \
    --shielded-vtpm \
    --shielded-integrity-monitoring \
    --labels=goog-ec-src=vm_add-gcloud,container-vm=cos-stable-105-17412-101-13
使用Artifact Registry自定义镜像创建VM的提示
  • 权限配置:确保创建VM的身份(用户或服务账号)拥有roles/artifactregistry.reader角色,该角色允许读取Artifact Registry中的镜像资源。
  • 镜像地址规范:必须使用完整的Artifact Registry镜像地址,格式为{区域}-docker.pkg.dev/{项目ID}/{仓库名}/{镜像名}:{标签},例如us-central1-docker.pkg.dev/my-project/my-repo/my-app:v1。
  • 预验证镜像可用性:在执行VM创建命令前,先在Cloud Shell中运行docker pull <镜像地址>,确认镜像可以正常拉取,排除镜像不存在、权限不足或区域不匹配的问题。
  • Node.js SDK配置:调用compute.instances.insert接口时,在请求体的containerImage字段传入完整的镜像地址;同时确保VM使用的服务账号具备Artifact Registry读取权限,且操作系统选择支持容器运行的版本(如Container-Optimized OS)。
  • 更新CLI版本:执行gcloud components update升级到最新版gcloud CLI,旧版本可能存在参数兼容或镜像源支持的问题。

内容的提问来源于stack exchange,提问作者Sim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:27:52