无法使用凭证存储登录 Ubuntu 18 上的 Docker

sr9*_*yar 10 ubuntu docker

我无法使用 登录 docker docker login

我正在执行:

sudo docker login --username USERNAME --password PASSWORD
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error saving credentials: error storing credentials - err: exec: 
"docker-credential-pass": executable file not found in $PATH, out: ``
Run Code Online (Sandbox Code Playgroud)

我尝试搜索类似的错误,但没有真正找到任何相关的内容。

我在用着:

Ubuntu 18.10。

Docker 版本 18.06.0-ce,内部版本 0ffa825。

为什么会发生这种情况?

jhr*_*abi 3

您收到的消息表明,在系统路径中找不到在 pass (www.passwordstore.org) 中存储密码所需的 docker-credential-pass 凭证帮助程序。这也意味着您的凭证存储已配置为使用 pass。在 ~/.docker/config.json 中,应该有如下所示的内容:

{
     "credsStore": "pass"
}
Run Code Online (Sandbox Code Playgroud)

如果您想继续使用 pass 作为凭证​​管理器,则需要安装 docker-credential-pass 凭证助手 ( https://github.com/docker/docker-credential-helpers )。

该网站上的安装说明目前尚不清楚(截至 2018 年 9 月 21 日),但我找到的最佳指南是在 docker-credential-helpers 项目中的问题之一中打开的:

https://github.com/docker/docker-credential-helpers/issues/102

当然,如果您只是不想使用凭证存储,请从配置中删除指定凭证存储的行,或将其设置为“”。但请注意,您会收到有关 docker 登录凭据的警告消息,如下所示:

WARNING! Your password will be stored unencrypted in /home/foo/.docker/config.json.
Run Code Online (Sandbox Code Playgroud)

更多信息可以查看Docker登录信息页面:

https://docs.docker.com/engine/reference/commandline/login/#credentials-store