173 votes

Impossible de se connecter au compte Docker

OS: Ubuntu 18.04 Server
Docker 18.3 CE

Je suis connecté sur le serveur, à partir de mon Windows 10 pour ordinateur portable, à l'aide d'un Mastic de la session SSH.

Je n'ai pas de menu fixe sur mon Windows local de l'ordinateur portable, de sorte que tout le travail est effectué sur le serveur distant.

Je peut exécuter tous les Panneau de commandes, sur le serveur distant, à l'aide de la session de terminal.

Cependant, lorsque j'essaie d'enregistrer mon image pour le Docker hub, quand j'ai essayez de vous connecter à l'aide de:

docker login

Je reçois le message d'erreur suivant:

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`

Je n'ai pas eu de message d'erreur, quand j'ai créé mon image sur le serveur distant.

Je fais aussi de ne pas le voir .docker dossier dans le répertoire personnel sur le serveur distant. Des idées?

322voto

Edit 2019-04-07:

Comme c'est actuellement sélectionné réponse, je pense que les gens devraient essayer @Anish Varghese solution ci-dessous d'abord, comme il semble être le plus facile. Vous avez seulement besoin d'installer le gnupg2 et de transmettre des paquets:

sudo apt install gnupg2 passer

Si cela ne fonctionne pas, alors vous pouvez essayer ma solution originale ici:

J'ai eu le même problème. bak2trak réponse travaillé, mais il a sauvé identification en texte clair. Voici la solution si vous souhaitez les garder dans un stockage de mots de passe.

1) Télécharger le panneau d'informations d'identification passer 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) Vous aurez besoin pour l'installation de docker-identification-pass (étapes suivantes sont à base de https://github.com/docker/docker-credential-helpers/issues/102#issuecomment-388634452)

5.1) installer gpg et pass (apt-get install gpg pass)

5.2) gpg --generate-key, entrez vos informations. Vous devriez voir quelque chose comme ceci:

pub   rsa3072 2018-10-07 [SC] [expires: 2020-10-06]
      1234567890ABCDEF1234567890ABCDEF12345678

Copie la ligne 123...

5.3) pass init 1234567890ABCDEF1234567890ABCDEF12345678 (pâte)

5.4) pass insert docker-credential-helpers/docker-pass-initialized-check et de définir le suivant le mot de passe "pass est initialisé" (sans les guillemets).

5.5) pass show docker-credential-helpers/docker-pass-initialized-check. Vous devriez voir passer est initialisé.

5.6) docker-credential-pass list

6) créer un ~/.menu fixe/config.json avec:

{
"credsStore": "pass"
}

7) panneau de connexion devrait maintenant fonctionner

Remarque: Si vous obtenez l'erreur "pass magasin est non initialisé" à l'avenir exécuter, exécutez la commande ci-dessous (il va recharger le pass stocker dans la mémoire):

pass show docker-credential-helpers/docker-pass-initialized-check

Il va vous demander votre mot de passe et il va initialiser le pass store.

C'est basé sur cette discussion: https://github.com/moby/moby/issues/25169#issuecomment-431129898

294voto

Anish Varghese Points 582

Installer les packages suivants dans ubuntu a résolu mon problème

sudo apt install gnupg2 pass

54voto

bak2trak Points 722

J'ai connu le même problème avec ubuntu 18.08 et cela a finalement fonctionné pour moi.. comme une solution temporaire.

J'avais créé ce dossier home/.docker/ des solutions m'a suggéré de créer un fichier config.json et écrire des informations d'identification par défaut en elle c'est à dire

{
    "credsStore": "pass"
}
  • J'ai supprimé ce fichier config.json.
  • Ensuite renommé docker-identification secretservice à autre chose, alors qu'il n'a pas choisit ce fichier.

    sudo mv /usr/bin/docker-identification secretservice /usr/bin/docker-identification secretservice_x

et cela a fonctionné!

6voto

Mr Kashyap Points 114

Pour moi, la solution la plus simple était de créer un fichier config.json sous le répertoire .docker dans le répertoire personnel de l'utilisateur:

~ / home / .docker / config.json

Ensuite, j'ai copié le contenu de ce fichier depuis le serveur à partir duquel j'ai pu me connecter au hub docker.

 {
        "auths": {
                "https://index.docker.io/v1/": {
                        "auth": "SOMEVALUE"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/18.06.1-ce (linux)"
        }

}
 

C'est une solution de contournement facile, car il ne vous oblige pas à installer ou à mettre à jour un package que nous ne pouvons pas faire facilement sur les serveurs de production.

3voto

CoDEmanX Points 937

Pour moi docker push échoué avec

 denied: requested access to the resource is denied
 

... donc je voulais docker login mais j'ai obtenu ce qui suit après avoir entré les informations d'identification:

 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
 

Heureusement, j'avais une autre machine disponible sur laquelle je pouvais me connecter sans aucune modification du système. J'ai copié le contenu de ~/.docker/config.json ...

 {
        "auths": {
                "https://index.docker.io/v1/": {
                        "auth": "<some-hash-value>"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/18.09.2 (linux)"
        }
}
 

... à l'autre machine et docker push fonctionné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X