Docker 密码存储在 .docker/config.json
Docker password store in .docker/config.json
在 .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 <<< @
命令
当您在命令行手动对字符串进行 base64 编码时,需要注意不要包含换行符。 echo -n
对此很有帮助。
$ echo -n '@' | base64
QA==
这与您的 .docker/config.json
文件中的内容相匹配。如果我解码你的其他字符串
$ echo -n 'QAo=' | base64 -D | od -t x1
0000000 40 0a
它包含两个字节,ASCII 0x40(@
)和 0x0a(换行符)。
在 .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 <<< @
命令
当您在命令行手动对字符串进行 base64 编码时,需要注意不要包含换行符。 echo -n
对此很有帮助。
$ echo -n '@' | base64
QA==
这与您的 .docker/config.json
文件中的内容相匹配。如果我解码你的其他字符串
$ echo -n 'QAo=' | base64 -D | od -t x1
0000000 40 0a
它包含两个字节,ASCII 0x40(@
)和 0x0a(换行符)。