解密.docker/config.json

.docker/config.json 文件用于存储 Docker CLI 的配置,尤其是 登录凭据(比如你登录了 Docker Hub、Harbor、GitLab registry 等),当你使用 docker login 登录后,Docker 会把认证信息写入这个文件。


1. 示例结构(包含 auth)

1
2
3
4
5
6
7
8
9
10
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "dXNlcjpwYXNzd29yZA=="
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/20.10.7 (linux)"
}
}

其中的:

1
"auth": "dXNlcjpwYXNzd29yZA=="

是使用 Base64 编码 过的 username:password 字符串。


2. 解密 auth 字段

你可以使用 base64 命令来解密:

1
echo 'dXNlcjpwYXNzd29yZA==' | base64 -d

输出结果:

user:password

3.注意事项:

  • 这种方式没有加密,仅仅是 Base64 编码,所以非常不安全。
  • Docker 新版本(配合 docker-credential-* helper)也可能使用系统密钥链或 helper 存储密码,例如:
1
2
3
{
"credsStore": "desktop"
}

这时 auths 就没有密码明文了,存储在 Keychain(macOS)或 Windows Credential Manager。


4.安全建议

  • 不建议直接编辑 ~/.docker/config.json,会破坏结构或引发认证问题。