Docker密码存储在.docker/config.json中。

4
.docker/config.json中,我看到我的密码存储为QA=="。我的密码以@结尾。
{
    "auths": {
        "registry.nmlv.nml.com": {
            "auth": "QA==",
            "email": "foo@bar.com"
        }
    },
    "HttpHeaders": {
        "User-Agent": "Docker-Client/19.03.4 (darwin)"
    }
}

auth属性实际上是username:password的base64编码,但我的密码base64编码结尾是QAo=。我想知道docker是如何更改密码的?

我使用了base64 <<< @命令。

1个回答

5
在命令行手动进行字符串的base64编码时,需要注意不要包含换行符。此时可以使用echo -n 命令来帮助处理。
$ echo -n '@' | base64
QA==

这与您的 .docker/config.json 文件中的内容相匹配。如果我解码您的另一个字符串
$ echo -n 'QAo=' | base64 -D | od -t x1
0000000    40  0a

这段文字包含两个字节,ASCII码为0x40(@)和0x0a(换行符)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接