「Docker」- Cannot autolaunch D-Bus without X11 $DISPLAY

  CREATE BY JENKINSBOT



问题描述

执行 docker 命令时,产生如下错误:

Cannot autolaunch D-Bus without X11 $DISPLAY

问题原因

在 Docker 中,有很多凭证(在该案例中,指 docker login 凭证)存储的方式。这包括我们已知的:以 base64 编码保存在 ~/.docker/config.json 文件的 auths 字段中。除此之外,还有很多其他存储方式(比如 pass、osxkeychain 等等)。

产生错误是因为:由于错误的默认配置,导致 Docker 使用需要在图形界面下才能运行的凭证存储工具,而我们处于命令行下,无法以图形界面来提示用户输入密码,因此产生上述错误。

解决方案

虽然导致该问题的本质原因是相同的,但是错误配置却是多种多样的,我们无法一一列举。如果想要彻底解决此类问题,需要明白 Docker 凭证存储机制,参考 docker login 笔记。

参考文献

docker login fails while docker-compose is installed on Ubuntu 18.04 · Issue #6023 · docker/compose
docker login fails on a server with no X11 installed – Stack Overflow