我正在尝试在私有(private) docker 注册表上部署带有图像的 docker 配置。
现在,每次执行 docker login registry.example.com
时,都会收到以下错误消息:
error getting credentials - err: exit status 1, out:
Cannot autolaunch D-Bus without X11 $DISPLAY
我为非 MacOS 用户找到的唯一解决方案是先运行 export $(dbus-launch)
,但这并没有改变任何东西。
我正在运行 Ubuntu Server 并尝试使用 Ubuntu Docker 包和 Docker-CE 包。
如何在没有 X11 session 的情况下登录?
最佳答案
看起来这是因为它默认使用 secretservice
可执行文件,由于某种原因,该可执行文件似乎具有某种 X11 依赖项。如果您安装和配置 pass
docker 将使用它,这似乎可以解决问题。
简而言之(来自 https://github.com/docker/compose/issues/6023)
sudo apt install gnupg2 pass
gpg2 --full-generate-key
这将为您生成一个 gpg2 key 。完成后,您可以列出它
gpg2 -k
复制 key ID(从标记为 [uid]
的行中)并执行
pass init "whatever key id you have"
现在 docker login
应该可以工作了。
在启动板上记录了几个与此相关的错误:
https://bugs.launchpad.net/ubuntu/+source/docker-compose/+bug/1796119
关于docker login 在未安装 X11 的服务器上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51222996/