OS: Ubuntu 18.04 Server
Docker 18.3 CE
我使用 PuTTY SSH 会话从我的 Windows 10 笔记本电脑登录到服务器。
我的本地 Windows 笔记本电脑上没有 Docker,所以所有工作都在远程服务器上完成。
我可以使用终端会话在远程服务器上执行所有 Docker 命令。
但是,当我尝试将图像保存到 Docker 集线器时,当我尝试登录时,使用:
docker login
我收到以下错误消息:
error getting credentials - err: exit status 1, out: `GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files`
当我在远程服务器上创建图像时,我没有收到任何错误消息。
我也没有在远程服务器的相关主目录中看到 .docker 文件夹。有任何想法吗?
原文由 EastsideDev 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑 2019-04-07:
由于这是当前选择的答案,我认为人们应该首先尝试下面的@Anish Varghese 解决方案,因为它似乎是最简单的。你只需要安装 gnupg2 和传递包:
如果它不起作用,那么您可以在这里尝试我的原始解决方案:
我遇到过同样的问题。 bak2trak 答案有效,但它以明文形式保存了凭据。如果您想将它们保存在密码存储中,这是解决方案。
从 https://github.com/docker/docker-credential-helpers/releases 下载 docker-credential-pass
tar -xvf docker-credential-pass.tar.gz
chmod u+x docker-credential-pass
mv docker-credential-pass /usr/bin
您需要设置 docker-credential-pass (以下步骤基于 https://github.com/docker/docker-credential-helpers/issues/102#issuecomment-388634452 )
5.1)安装gpg并通过(
apt-get install gpg pass
)5.2)
gpg --generate-key
,输入您的信息。您应该看到如下内容:复制 123… 行
5.3)
pass init 1234567890ABCDEF1234567890ABCDEF12345678
(粘贴)5.4)
pass insert docker-credential-helpers/docker-pass-initialized-check
并设置下一个密码“pass is initialized”(不带引号)。5.5)
pass show docker-credential-helpers/docker-pass-initialized-check
。您应该看到 pass 已初始化。5.6)
docker-credential-pass list
6)创建一个 ~/.docker/config.json :
注意:如果您在以后的运行中收到错误“pass store is uninitialized”,请运行以下命令(它将重新加载内存中的 pass store):
它会询问您的密码并初始化通行证存储。
这是基于此讨论: https ://github.com/moby/moby/issues/25169#issuecomment-431129898