我无法从 CLI 手动登录我的私有(private) GitLab Docker 注册表:
# docker login -u "${DOCKER_USER}" -p "${DOCKER_PASS}" "${DOCKER_URL}"
error getting credentials - err: exit status 1, out: `Cannot autolaunch D-Bus without X11 $DISPLAY`
系统信息:
- Ubuntu 18.04
- docker-ce 18.03.1~ce~3-0~ubuntu(来自官方仓库,无安装脚本)
没有任何用户的 ~/.docker/config.json
并且我正在以 root 身份执行 docker login
。
在 Google 上,我只是找到了对 export DISPLAY
的建议... docker 只能在 GUI 环境中登录到远程注册表吗?
导出 DISPLAY=0:0 产生:
error getting credentials - err: exit status 1, out: `Failed to execute child process “dbus-launch” (No such file or directory)`
我是否缺少一些依赖项?否则 Docker 运行良好,但登录不起作用。我知道有存储凭据的后端,但我不想存储凭据。我只是想对我的注册表进行身份验证以提取图像,这在 Docker ootb 中不起作用吗?
最佳答案
docker-compose
包不必要地依赖损坏的 golang-github-docker-docker-credential-helpers
包裹。删除可执行文件可以解决此问题。
rm /usr/bin/docker-credential-secretservice
注意:这是一种解决方法,每次更新包时都需要重复。
关于 docker 登录: Error when manually logging into private Registry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51153265/