Estoy tratando de implementar una configuración de ventana acoplable con imágenes en un registro de ventana acoplable privado.
Ahora, cada vez que ejecuto docker login registry.example.com , aparece el siguiente mensaje de error:
error al obtener las credenciales - error: estado de salida 1, salida:
Cannot autolaunch D-Bus without X11 $DISPLAY
La única solución que encontré para usuarios que no son de MacOS fue ejecutar export $(dbus-launch) primero, pero eso no cambió nada.
Estoy ejecutando Ubuntu Server y probé con el paquete Ubuntu Docker y el paquete Docker-CE.
¿Cómo puedo iniciar sesión sin una sesión X11?
Parece que esto se debe a que por defecto usa el ejecutable secretservice que parece tener algún tipo de dependencia de X11 por alguna razón. Si instala y configura pass Docker, lo usará en su lugar, lo que parece resolver el problema.
En pocas palabras (de https://github.com/docker/compose/issues/6023 )
sudo apt install gnupg2 pass gpg2 --full-generate-keyEsto genera una clave gpg2. Una vez hecho esto, puede enumerarlo con
gpg2 -k Copie la identificación de la clave (de la línea etiquetada [uid] ) y haga
pass init "whatever key id you have" Ahora docker login debería funcionar.
Hay un par de errores registrados en el Launchpad con respecto a esto:
https://bugs.launchpad.net/ubuntu/+source/docker-compose/+bug/1796119
Esto funciona: sudo apt remove golang-docker-credential-helpers
secretservice requiere una GUI. Puede usar pass sin una GUI.
Desafortunadamente, falta bastante documentación de Docker sobre cómo configurar Docker Credential Helpers . Aquí hay una guía completa sobre cómo configurar pass con Docker (probado con Ubuntu 18.04):
passdocker-credential-pass en https://github.com/docker/docker-credential-helpers/releases . Por ejemplo: # substitute with the latest version url=https://github.com/docker/docker-credential-helpers/releases/download/v0.6.2/docker-credential-pass-v0.6.2-amd64.tar.gz # download and untar the binary wget $url tar -xzvf $(basename $url) # move the binary to a dir in your $PATH sudo mv docker-credential-pass /usr/local/bin # verify it works docker-credential-pass listpass de instalación y configuración apt install pass # create a gpg2 key gpg2 --gen-key # if you have issues with lack of entropy, "apt install haveged" and try again # create the password store using the gpg user id above pass init $gpg_id docker login # You should not see any credentials stored in "auths" section. # "credsStore": "pass" should have been automatically added. # If the value is "secretservice", replace it with "pass". cat ~/.docker/config.json # verify credentials stored in `pass` store now pass