我正在更换 Mac,但不记得我的 Docker 注册表登录信息。我可以重置所有内容,但我更愿意将散列的登录文件复制到新的 Mac 上。
在 OSX、Linux 和 Windows 上,Docker 注册表凭据存储在何处?
我正在更换 Mac,但不记得我的 Docker 注册表登录信息。我可以重置所有内容,但我更愿意将散列的登录文件复制到新的 Mac 上。
在 OSX、Linux 和 Windows 上,Docker 注册表凭据存储在何处?
我能在~/.docker/config.json文件中找到所需的信息。
将此文件从一个OSX安装复制到另一个安装中,可以让我在不再请求凭证的情况下进行注册表身份验证。
该文件如下所示:
{
"auths": {
"registry.domain.com": {
"auth": "HASH_HERE",
"email": "user@domain.com"
}
}
}
docker run
注册表的auth/htpasswd
(或只是htpasswd
)文件。
在Windows或Mac上,该文件将在VM中创建,在/c/Users/...
或/Users/...
下,因为这些是boot2docker映像挂载的持久文件夹。
正如OP spechal所评论的那样,登录本身保存在~/.docker/config.json
中。WARNING: login credentials saved in /var/lib/jenkins/.docker/config.json
Login Succeeded
pushing docker image 0fd658e25fd8 from 06bdc8f-1508171450 to docker-registry.tld:5043/repo/ingest_preview:06bdc8f-1508171450
The push refers to a repository [docker-registry.tld:5043/repo/ingest_preview] (len: 1)
HASH_HERE
不是一个哈希,而是实际的以username:password
标记的 base64 编码凭据。非常适合与curl
结合使用。但从安全角度来看并不完美。 - undefined