Google cloud platform 无效参数";gcr.io//hello app:v1“;至于-t、 --标签“标签”;标志:无效的引用格式

Google cloud platform 无效参数";gcr.io//hello app:v1“;至于-t、 --标签“标签”;标志:无效的引用格式,google-cloud-platform,google-kubernetes-engine,Google Cloud Platform,Google Kubernetes Engine,我遵循本教程:针对谷歌云平台。我正在使用googlecloudshell命令行。当我走到台阶上时: 要生成此应用程序的容器映像并将其标记为上载,请运行以下命令: docker build -t gcr.io/${PROJECT_ID}/hello-app:v1 . 我得到一个错误: invalid argument "gcr.io//hello-app:v1" for "-t, --tag" flag: invalid reference format 请记住,我已经有了3个集群实例(从Ku

我遵循本教程:针对谷歌云平台。我正在使用googlecloudshell命令行。当我走到台阶上时: 要生成此应用程序的容器映像并将其标记为上载,请运行以下命令:

docker build -t gcr.io/${PROJECT_ID}/hello-app:v1 .
我得到一个错误:

invalid argument "gcr.io//hello-app:v1" for "-t, --tag" flag: invalid reference format
请记住,我已经有了3个集群实例(从Kubernetes引擎创建)和一个独立创建的VM实例,它们存在于我的VM实例中,是根据以前的教程创建的。不确定这是否与错误有关。
提前感谢。

您的教程链接不起作用(它是指向GCP仪表板的链接,而不是教程),但可能有一个步骤您应该设置
项目ID
变量,您跳过了该步骤。错误消息在命令中出现
${PROJECT\u ID}
的两个斜杠之间不显示任何内容。

您没有设置
PROJECT\u ID
。在教程的“开始前”部分中,您链接到该教程,然后运行该教程

gcloud config set project [PROJECT_ID]
然后在步骤1中运行

export PROJECT_ID="$(gcloud config get-value project -q)"

在这两个命令之后,应该正确设置shell变量

我在运行时也遇到了同样的错误

docker build -t gcr.io/${PROJECT_ID}/hello-app:v1 .
但将其更改为(我的项目号是deepworld123)


帮我修好了。即使我设置了PROJECT_ID=deepworld123

有一个非常类似的问题,涉及
项目ID
设置不正确。解决方案必须按照错误消息所述处理格式化

我的
PROJECT\u ID
字符串的格式如下
companyname.com:companyname-1
在我按照接受的答案中的所有步骤操作后,错误消息是相同的

结果是
需要替换为
/
。最后的
gcr.io
字符串如下所示:


gcr.io/companyname.com/companyname-1/hello app:v1

抱歉,我想我复制了它,但粘贴功能不起作用,而是保留了以前的副本。我应该仔细检查一下。我现在改了。顺便说一下,是这个链接:谢谢,罗伯特。我确实错过了那一步。愚蠢的错误。在重新执行所有步骤之后,我在同一步骤中得到了一个不同的错误—构建容器映像:
无法准备上下文:无法评估Dockerfile路径中的符号链接:lstat/home/hazzaldo2/Dockerfi le:没有这样的文件或目录
奇怪。我刚刚在一个新项目中创建了一个全新的云shell,所有步骤对我来说都很好。唯一看起来奇怪的是
dockerfile
中的空格(除非那是一个奇怪粘贴的换行符)。如果运行
ls/home/hazzaldo2/Dockerfile
会返回什么?感谢您的回复。当我运行
ls/home/hazzaldo2/Dockerfile
时,我得到:
ls:无法访问“/home/hazzaldo2/Dockerfile”:没有这样的文件或目录
。如果我自己运行
ls
,我会得到:
README cloudshell.txt
。我不确定它是在GCP中查找我的项目中的当前目录,还是在其他地方查找?如果是这样的话,如何在GCP中访问我的项目中的目录树?在您
git克隆之后https://github.com/GoogleCloudPlatform/kubernetes-engine-samples
确保将cd放入创建的目录中,该目录将包含
Dockerfile
。这是您将用于创建图像的文件。如果您从主目录运行
docker build
,您将没有docker文件,docker也不知道您要构建什么。哦,天哪。。。我刚刚意识到我错在哪里了。当我从Github克隆了
kubernetes引擎示例
项目时,我是在本地机器上而不是在gcloud外壳上完成的。我本能地这么做了,因为我习惯于在我的机器上本地克隆项目。对我来说,在云上做任何事情都是一个新概念,包括克隆项目。很抱歉这样愚蠢的错误。非常感谢你的帮助。
docker build -t gcr.io/deepworld123/hello-app:v1 .