使用_json_key_base64登录GCR失败,但_json_key可成功登录求助
问题原因分析及解决办法
你遇到的_json_key_base64登录失败问题,大概率是Base64编码输出带换行符导致的。
默认情况下,base64命令会在编码后每76个字符自动添加换行符,而Docker登录时会把这些换行符当作密码的一部分传递给GCR,导致验证失败——GCR期望的是无换行的完整Base64字符串。
解决步骤
修改命令,使用base64 -w 0参数强制取消换行输出:
$ cat jsonkey | base64 -w 0 | docker login -u _json_key_base64 --password-stdin https://asia.gcr.io
这个命令会生成无换行的Base64编码密钥,再传递给Docker,应该就能成功登录了。
补充说明:_json_key方式直接传递原始JSON内容,不需要编码,自然不会有换行符干扰,这也是它能成功的原因。
内容的提问来源于stack exchange,提问作者jackblk
相关产品推荐
相关产品推荐

