在成功执行 docker login hub.crazyphper.com
后,docker push
提示:
denied: requested access to the resource is denied。
使用docker logout hub.crazyphper.com
, 会提示:
WARNING: could not erase credentials: error erasing credentials - err: exit status 1, out: error erasing credentials - err: exit status 1, out: 'The specified item could not be found in the keychain.'。
这是因为OS X下,Docker默认使用osxkeychain存储凭据(参见官方文档),但是docker client未与OSX的osxkeychain集成(参见fsouza / go-dockerclient#677)。
打开钥匙串(Keychain Access.app),搜索Docker能够看到Docker Credentials存储了凭据,并且允许docker-credential-osxkeychain
访问。
我们需要修改config.json
文件,告诉Docker client使用docker-credential-osxkeychain
:
{
"credsStore": "osxkeychain"
}
我的完整config.json
如下:
{
"auths": {
"https://hub.crazyphper.com": {}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/19.03.5 (darwin)"
},
"credsStore": "desktop",
"stackOrchestrator": "swarm"
}
发表回复