首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell中的Docker登录到gcr.io

Powershell中的Docker登录到gcr.io
EN

Stack Overflow用户
提问于 2018-01-17 21:43:58
回答 3查看 4.5K关注 0票数 2

我试图使用JSON密钥文件登录到Windows 10上的Google容器注册表。我在我的Mac上没有问题,所以密钥文件肯定是工作的。

首先,我在获取docker登录函数以接受JSON密钥文件的内容时遇到了问题。我试过运行"/set /p PASS.“在CMD中使用命令,我在Powershell中尝试了类似的方法:

码头管理员登录-u _json_key -p "$(Get-Content keyfile.json)“https://gcr.io

这些都会导致错误或以下情况:

“停靠者登录”最多需要一个参数。

因为我没能让它起作用,我跑了:

码头管理员登录-u _json_key https://gcr.io

然后手动删除JSON文件中的所有断点,将其复制到剪贴板上,并在提示输入密码时粘贴它。

其结果是:

登录成功

问题解决了!对吗?

显然不是。我仍然无法提取我的图像,当我运行码头信息时,唯一列出的注册表是"https://index.docker.io/v1/“。

我已经尝试启动Powershell作为管理员,并重新启动和重置对接,但似乎没有任何帮助。

有人知道怎么回事吗?我如何调试这个?

我运行的是Docker 17.12.0版本(稳定)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-04 16:52:58

我找到了一个适用于Windows (在PowerShell中)和bash的解决方案。秘诀是使用“使用stdin提供密码”

代码语言:javascript
复制
cat gcr_registry-ro.json | docker login -u _json_key --password-stdin https://gcr.io
Login Succeeded

帮助文本和版本:

代码语言:javascript
复制
PS C:\Users\andy> docker login --help

Usage:  docker login [OPTIONS] [SERVER]

Log in to a Docker registry

Options:
  -p, --password string   Password
      --password-stdin    Take the password from stdin
  -u, --username string   Username
PS C:\Users\andy> docker -v
Docker version 18.06.1-ce, build e68fc7a
PS C:\Users\andy>
票数 6
EN

Stack Overflow用户

发布于 2020-03-05 20:00:28

在PowerShell中:

代码语言:javascript
复制
(Get-Content keyfile.json) | docker login  -u _json_key --password-stdin https://gcr.io
票数 1
EN

Stack Overflow用户

发布于 2018-01-18 19:34:18

我现在使用的方法是删除键中的所有换行符,复制它,然后在提示输入密码时粘贴它,而不是尝试将它传递到-p参数中。结果,我不得不将url更改为eu.gcr.io,而不是只更改gcr.io。

我在GCR文档页面上写了一些反馈--希望他们能修复它,甚至在Powershell中添加正确的方法。

我仍然想知道的是,为什么我不能看到我登录到了码头信息中的GCR。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48310486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档