我正在尝试将docker映像推送到Google云容器注册表。但是我一直在未经授权。这是在Windows计算机上。
我尝试了几件事,首先我尝试使用Visual Studio 2019社区设置发布。然后我终于尝试了控制台,实际上看到了未经授权的错误。
这是我尝试过的:
docker push us.gcr.io:443/my-project-id/mycontainer
它的行为就像是然后告诉我我没有权限
然后建议使用高级身份验证方法,这使我创建了一个json密钥文件。为简单起见,我将密钥文件命名为“ keyfile.json”这样的简单名称。
然后我按照高级说明进行操作。
我从这个开始:
set /p PASS=<keyfile.json
当我按下Enter键时,我得到一个命令提示,然后继续输入以下内容:
docker login -u _json_key -p "$(cat keyfile.json)" https://us.gcr.io
我收到错误消息:docker login requires at most 1 argument
最后,我发现我可以使用google的存储库并构建工具来将图像放入存储库中,但我希望能够手动上传。
有什么建议吗?
答案 0 :(得分:0)
对于您的错误docker login requires at most 1 argument
。重新读取错误消息时,“最多1个参数”指示用户和密码未作为选项进行处理。很难看到,但是代码中的破折号更长了
尝试以下方法:
docker login -u my-username -p my-password registry.myclient.com
虽然外观相似,但-u
和-p
与–u
和–p
不同(破折号略长)。
现在要弄清Project:Owner角色,听起来很奇怪,默认情况下不会授予您所有权限,但是如果您缺少项目中的任何权限(返回的错误将类似于[Missing necessary permission iam*] ... Please grant the roles/iam.* role
),就能grant将它们自己给自己。
出于将图片推送到容器注册的目的,默认情况下,所有者角色为permissions
当您说要在Windows计算机上执行此操作时,是否表示您installed Cloud SDK从本地计算机推送图像?问题可能是您没有正确authenticating进入项目。
或者您是说您是通过Windows上的浏览器访问GCP并从Cloud Shell运行命令的?
答案 1 :(得分:0)