seokwoong_chang @ cellular-hold-144901:〜$ gcloud compute ssh --quiet \
- 项目“cellular-hold-144901” --zone“asia-east1-a” --ssh-flag =“ - N”\ --ssh-flag =“ - L”\ --ssh-flag =“localhost:8081:localhost:8080” “$ {USER} @ $ {USER} -datalab服务器” 错误:(gcloud.compute.ssh)无法获取实例: - 无效值'seokwoong_chang-datalab-server'。值必须与以下正则表达式匹配:'a-z?'
seokwoong_chang @ cellular-hold-144901:〜$
答案 0 :(得分:2)
请注意,建议的命名约定只是一个建议,而非要求。
您可以将Datalab VM命名为您想要的任何名称,而不是使用您的用户名。如果您碰巧在用户之间共享VM,这一点尤其有趣。例如,您可以根据需要使用团队名称或其他限定符来生成唯一名称。
答案 1 :(得分:1)
您可以尝试将$USER
替换为${USER//[_]/-}
,以便将下划线替换为-
吗?
请注意,您需要先运行glcoud compute instances create...
命令:
gcloud compute instances create "${USER//[_]/-}-datalab-server" \
--project "project-id" \
--zone "zone" \
--network "datalab-network" \
--image-family "container-vm" \
--image-project "google-containers" \
--metadata "google-container-manifest=$(cat datalab-server.yaml)" \
--machine-type "n1-highmem-2" \
--scopes "cloud-platform"
其次是:
gcloud compute ssh --quiet \
--project "project-id" \
--zone "zone" \
--ssh-flag="-N" \
--ssh-flag="-L" \
--ssh-flag="localhost:8081:localhost:8080" \
"${USER//[_]/-}@${USER//[_]/-}-datalab-server"