Docker Login: Error when manually logging into private Registry

心已入冬 提交于 2019-12-22 05:11:41

问题


I can't manually log into my private GitLab Docker Registry from CLI:

# 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`

System info:

  • Ubuntu 18.04
  • docker-ce 18.03.1~ce~3-0~ubuntu (from official repo, without install script)

There is no ~/.docker/config.json for any users and I'm executing the docker login as root. On Google, I just find recommendations to export DISPLAY... Can docker only login to remote registries in a GUI environment? Exporting DISPLAY=0:0 yields:

error getting credentials - err: exit status 1, out: `Failed to execute child process “dbus-launch” (No such file or directory)`

Am I missing some dependency? Docker runs fine otherwise, but login doesn't work. I know there are backends to store credentials, but I don't want to store credentials. I'm just trying to authenticate against my registry to pull an image, doesn't that work in Docker ootb?


回答1:


The docker-compose package unnecessarily depend on the broken golang-github-docker-docker-credential-helpers package. Removing the executable fixes this.

rm /usr/bin/docker-credential-secretservice

Note: This is a workaround and will need to be repeated each time the package is updated.

This affects the Ubuntu 18.04 (and possibly other non-LTS releases) and some Debian releases.



来源:https://stackoverflow.com/questions/51153265/docker-login-error-when-manually-logging-into-private-registry

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!