忘记PGP口令无法登录Docker,如何让Docker取消PGP认证?
忘记PGP口令无法登录Docker,如何让Docker取消PGP认证?
别着急,我之前也碰到过类似的情况,咱们一步步来解决这个问题:
首先,Docker之所以一直揪着PGP口令不放,大概率是因为它默认用GPG加密存储了你的登录凭证,咱们先把这个关联断掉:
第一步:退出当前Docker登录状态
打开终端,执行下面的命令,先清空已有的登录会话:docker logout第二步:修改Docker配置文件,移除PGP凭证存储设置
Docker的核心配置文件通常在用户主目录下的.docker文件夹里,路径是~/.docker/config.json(Windows系统对应C:\Users\<你的用户名>\.docker\config.json)。
用文本编辑器打开这个文件,找一找有没有类似这样的配置项:{ "credsStore": "gpg", // 其他配置内容... }把
"credsStore": "gpg"这一行删掉(如果有相关的credHelpers配置也一起移除),保存文件。这样Docker就不会再用GPG来处理凭证存储了。第三步:重新用访问令牌/密码登录
回到终端执行docker login命令:
输入你的Docker Hub用户名,接着输入你的访问令牌(或者直接输入登录密码)。这时候应该就不会再弹出PGP口令的要求了。
另外,如果你还没生成访问令牌,可以直接登录Docker Hub官网,在个人设置的「Security」板块里生成一个新令牌,用令牌登录比密码更安全,还能彻底绕开PGP相关验证。
备注:内容来源于stack exchange,提问作者user3565923




