que - No se puede iniciar sesión en la cuenta de Docker
que es docker hub (6)
OS: Ubuntu 18.04 Server
Docker 18.3 CE
He iniciado sesión en el servidor, desde mi computadora portátil con Windows 10, usando una sesión PuTTY SSH.
No tengo Docker en mi computadora portátil con Windows local, por lo que todo el trabajo se realiza en el servidor remoto.
Puedo ejecutar todos los comandos de Docker, en el servidor remoto, usando la sesión de terminal.
Sin embargo, cuando intento guardar mi imagen en el Docker Hub, cuando intento iniciar sesión, utilizo:
docker login
Me sale el siguiente mensaje de error:
error getting credentials - err: exit status 1, out: `GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files`
No recibí ningún mensaje de error cuando creé mi imagen en el servidor remoto.
Tampoco veo una carpeta .docker en el directorio de inicio relacionado en el servidor remoto. ¿Algunas ideas?
Editar 2019-04-07:
Como esta es la respuesta actualmente seleccionada, creo que la gente debería probar la solución @Anish Varghese a continuación primero, ya que parece ser la más fácil. Solo necesita instalar los paquetes gnupg2 y pass:
sudo apt install gnupg2 pass
Si no funciona, puedes probar mi solución original aquí:
Tuve el mismo problema. La respuesta de bak2trak funcionó, pero guardó las credenciales en texto claro. Aquí está la solución si desea mantenerlos en un almacén de contraseñas.
1) Descargue docker-credential-pass de https://github.com/docker/docker-credential-helpers/releases
2)
tar -xvf docker-credential-pass.tar.gz
3)
chmod u+x docker-credential-pass
4)
mv docker-credential-pass /usr/bin
5) Deberá configurar docker-credential-pass (los siguientes pasos se basan en https://github.com/docker/docker-credential-helpers/issues/102#issuecomment-388634452 )
5.1) instalar gpg y pass (
apt-get install gpg pass
)
5.2)
gpg --generate-key
, ingrese su información.
Debería ver algo como esto:
pub rsa3072 2018-10-07 [SC] [expires: 2020-10-06]
1234567890ABCDEF1234567890ABCDEF12345678
Copie la línea 123 ...
5.3)
pass init 1234567890ABCDEF1234567890ABCDEF12345678
(pegar)
5.4)
pass insert docker-credential-helpers/docker-pass-initialized-check
y establezca la siguiente contraseña "pass is initialized" (sin comillas).
5.5)
pass show docker-credential-helpers/docker-pass-initialized-check
.
Debería ver que el pase se inicializa.
5.6) lista de
docker-credential-pass list
6) crea un ~ / .docker / config.json con:
{
"credsStore": "pass"
}
7) el inicio de sesión de Docker ahora debería funcionar
Nota: Si obtiene el error "el almacén de pases no está inicializado" en una ejecución futura, ejecute el siguiente comando (volverá a cargar el almacén de pases en la memoria):
pass show docker-credential-helpers/docker-pass-initialized-check
Le pedirá su contraseña e inicializará el almacén de pases.
Esto se basa en esta discusión: https://github.com/moby/moby/issues/25169#issuecomment-431129898
Enfrenté el mismo problema en ubuntu 18.08 y esto finalmente funcionó para mí ... como una solución temporal.
Había creado esta carpeta
home/.docker/
ya que algunas soluciones me sugirieron crear un archivo
config.json
y escribir las credenciales predeterminadas en él, es decir
{
"credsStore": "pass"
}
-
config.json
este archivoconfig.json
. -
Luego renombrado docker-credential-secretservice a algo más para que no recoja este archivo.
sudo mv / usr / bin / docker-credential-secretservice / usr / bin / docker-credential-secretservice_x
¡Y funcionó!
Instalar los siguientes paquetes en ubuntu solucionó mi problema
sudo apt install gnupg2 pass
Instale los siguientes paquetes en ubuntu
sudo apt install gnupg2 pass
Esto me funcionó.
Para mí, el
docker push
falló con
denied: requested access to the resource is denied
... así que quería
docker login
pero obtuve lo siguiente después de ingresar las credenciales:
Remote error from secret service:
org.freedesktop.DBus.Error.UnknownMethod:
No such interface ''org.freedesktop.Secret.Collection'' on object at path
/org/freedesktop/secrets/collection/login
Error saving credentials:
error storing credentials - err: exit status 1, out:
No such interface ''org.freedesktop.Secret.Collection'' on object at path
/org/freedesktop/secrets/collection/login
Afortunadamente, tenía otra máquina disponible en la que podía iniciar sesión sin ningún cambio en el sistema.
Copié el contenido de
~/.docker/config.json
...
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "<some-hash-value>"
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.2 (linux)"
}
}
... a la otra máquina y el
docker push
funcionó.
Para mí, la solución más simple era crear el archivo config.json en el directorio .docker dentro del directorio de inicio del usuario:
~ / home / .docker / config.json
Luego copié el contenido de este archivo desde el servidor desde donde pude iniciar sesión en el Docker Hub.
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "SOMEVALUE"
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.06.1-ce (linux)"
}
}
Es una solución fácil, porque no requiere que instales o actualices ningún paquete que no podamos hacer fácilmente en los servidores de producción.