docker login 出现错误

zipengmichael · · 1707 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

docker login 出现错误,提示:Error saving credentials: error storing credentials - err: exit status 1, out: Cannot autolaunch D-Bus without X11 $DISPLAY

环境

使用的是 Mint Linux ,容器为 docker-ce 最新版

 $ uname -aLinux m01 3.10.0-514.el7.x86_64#1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux$ docker --versionDocker version 18.09.0, build 4d60db4

问题出现

今天在 push 容器镜像时,反复提示没有权限,猜测可能是登陆了其他容器账号验证不过。当我 docker login 后才发现问题并不简单,错误完整提示:

 $ docker loginLogin with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.Username: epursPassword:Error saving credentials: error storing credentials - err:exitstatus 1, out:`Cannot autolaunch D-Bus without X11$DISPLAY`

尝试解决

看到 x11 第一反应以为是系统安装了桌面环境有不兼容的地方,遇到问题先 Google 总不会错,果然在前几个结果中就看到了 docker 相关的 Issue 。

Issue 中明确说明了只有在安装 docker-compose 时出现了类似报错,下面有回答,出现错误的根本原因是因为默认安装在 X11 环境下验证时使用的 golang-docker-credential-helpers ,但是由于在命令行中可能无法正常工作,要用 docker-credentials-pass 代替。

docker-compose 其实是依照 swarm mode 中 stack 模式启动容器的工具,对我没有特别用处,于是我做了第一次尝试,卸载掉烦人的包:

1sudo apt remove docker-compse

嘛,再次执行 docker login ,还是报出同样的报错。

问题解决

再往下看 Issue,感谢 chriswue 给出的详细回答,他提到这是在 Ubuntu (Mint 同样是基于 Ubuntu 的发行版)下使用 docker 特有的 bug ,而修复办法不需要特意去卸载 docker-compose ,只要 “pass” 掉验证步骤。

解决办法:

首先安装 gnupg2 和 pass 包,并生成 gpg2 key (我没有用到生成步骤一样可行)

  sudo apt install gnupg2 pass

gpg2 --full-generate-key

查看生成的 key ,使用 pass 加载验证

 gpg2 -kpass init"whatever key id you have"

这里引号中 要填写前面给出的 trustdb.gpg 路径。

做完上述操作后,再使用 docker login 就没有问题了。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:zipengmichael

查看原文:docker login 出现错误

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1707 次点击  
加入收藏 微博
1 回复  |  直到 2023-03-02 17:48:30
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传