44 votes

Docker / GCloud | Comment corriger docker-credential-gcloud non installé ou non disponible dans le PATH ?

Je suis en train d'essayer de faire une simple commande docker-compose. Mais la console affiche ces erreurs :

Construction de patch-panel
Traceback (most recent call last):
  File "bin/docker-compose", ligne 6, in 
  File "compose/cli/main.py", ligne 71, dans main
  File "compose/cli/main.py", ligne 127, dans perform_command
  File "compose/cli/main.py", ligne 1080, dans up
  File "compose/cli/main.py", ligne 1076, dans up
  File "compose/project.py", ligne 475, dans up
  File "compose/service.py", ligne 358, dans ensure_image_exists
  File "compose/service.py", ligne 1082, dans build
  File "site-packages/docker/api/build.py", ligne 251, dans build
  File "site-packages/docker/api/build.py", ligne 313, dans _set_auth_headers
  File "site-packages/docker/auth.py", ligne 96, dans resolve_authconfig
  File "site-packages/docker/auth.py", ligne 127, dans _resolve_authconfig_credstore
  File "site-packages/dockerpycreds/store.py", ligne 25, dans __init__
dockerpycreds.errors.InitializationError: docker-credential-gcloud non installé ou non disponible dans le PATH
[4167] Échec de l'exécution du script docker-compose

Je lis que quelque chose ne va pas avec l'installateur pip et les versions de Python. Mais j'ai 2 problèmes. Je suis sur WSL (Linux) et c'est un peu délicat car des étapes manquent dans les solutions et je ne suis pas familier avec Docker. Je veux juste faire un docker-compose et je ne peux pas. Est-ce que quelqu'un pourrait me dire comment corriger cela?

Quelques infos sur mon système : Après avoir fait gcloud info

Google Cloud SDK [232.0.0]

Plateforme: [Linux, x86_64] ('Linux', 'DESKTOP-OF5642B', '4.4.0-18329-Microsoft', '#1-Microsoft Tue Jan 29 15:04:00 PST 2019', 'x86_64', '')
Version Python: [2.7.15+ (default, Nov 28 2018, 16:27:22)  [GCC 8.2.0]]
Emplacement Python: [/usr/bin/python2]
Paquets du site: [Désactivés]

Répertoire d'installation: [/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-cloud-sdk]
Composants installés:
  docker-credential-gcr: []
  core: [2019.01.27]
  gsutil: [4.35]
  bq: [2.0.40]
PATH système: [/home/efsta/go//bin:/usr/local/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/c/ProgramData/DockerDesktop/version-bin:/c/Program Files/Docker/Docker/Resources/bin:
/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/iCLS/:/c/Program Files/Intel/Intel(R) Management Engine Components/iCLS/:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0:/c/WI
NDOWS/System32/OpenSSH:/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/IPT:/c/Program Fil
es/Intel/Intel(R) Management Engine Components/IPT:/c/Users/Efsta/scoop/shims:/c/Users/Efsta/AppData/Local/Microsoft/WindowsApps:/c/Users/Efsta/AppData/Local/Programs/Microsoft VS Code/bin:/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-clo
ud-sdk/bin:/home/efsta/.dotnet/tools]
Chemin Python: [/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-cloud-sdk/lib/third_party:/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-cloud-sdk/lib:/usr/lib/python2.7:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk
:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload]
SDK Cloud sur PATH: [True]
Kubectl sur PATH: [False]

Propriétés d'installation: [/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-cloud-sdk/properties]
Répertoire de configuration utilisateur: [/home/efsta/.config/gcloud]
Nom de configuration active: [défaut]
Chemin de configuration active: [/home/efsta/.config/gcloud/configurations/config_default]

Compte: [dimitris@landoop.com]
Projet: [k8-engine]

Propriétés actuelles:
  [core]
    projet: [k8-engine]
    compte: [dimitris@landoop.com]
    disable_usage_reporting: [True]

Répertoire des journaux: [/home/efsta/.config/gcloud/logs]
Fichier journal précédent: [/home/efsta/.config/gcloud/logs/2019.02.04/02.22.49.856181.log]

git: [git version 2.20.1]
ssh: [OpenSSH_7.9p1 Debian-5, OpenSSL 1.1.1a  20 Nov 2018]

Après avoir fait gcloud --version:

Google Cloud SDK 232.0.0
bq 2.0.40
core 2019.01.27
docker-credential-gcr
gsutil 4.35

Informations sur Docker et docker compose version:

Conteneurs: 0
 En cours d'exécution: 0
 En pause: 0 
 Arrêté: 0
Images: 2  
Version du serveur: 18.09.1
Pilote de stockage: overlay2
 Système de fichiers de base: extfs
 Prise en charge de d_type: true
 Différence de surcharge native: true
Pilote de journalisation: fichier JSON
Pilote de cgroup: cgroupfs
Plugins:
 Volume: local
 Réseau: bridge host macvlan null overlay
 Journal: awslogs fluentd gcplogs gelf journald fichier JSON local logentries splunk syslog
Swarm: inactif
Runtimes: runc
Runtime par défaut: runc
Binaire d'initialisation: docker-init
version containerd: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
version runc: 96ec2177ae841256168fcf76954f7177af9446eb
version init: fec3683
Options de sécurité:
 seccomp
  Profil : par défaut
Version du noyau: 4.9.125-linuxkit
Système d'exploitation: Docker pour Windows
Type d'OS: linux
Architecture: x86_64
CPUs: 2
Mémoire totale: 1.952GiB
Nom: linuxkit-00155d010201
ID: 4TYN:GKJ7:IX2L:JZDX:IFSU:CSME:6VEU:3SRL:4LD2:NZCB:NYDL:DTUA
Répertoire Docker Root: /var/lib/docker
Mode de débogage (client): false
Mode de débogage (serveur): true
 Descripteurs de fichiers: 22
 Goroutines: 46
 Heure système: 2019-02-04T00:28:06.9845313Z
 Écouteurs d'événements: 1
Registre: https://index.docker.io/v1/
Étiquettes:
Expérimental: false
Registres non sécurisés:
 127.0.0.0/8
Restauration en direct activée: false
Licence du produit: Moteur Communautaire

Version de docker-compose 1.23.2, build 1110ad01
Version de docker-py: 3.6.0
Version CPython: 3.6.7
Version d'OpenSSL: OpenSSL 1.1.0f  25 mai 2017

71voto

Eslam Hamouda Points 589

J'ai eu exactement le même problème. Supprimer ~/.docker/config.json l'a résolu immédiatement pour moi. Voir ici: https://github.com/docker/for-linux/issues/383.

40voto

Chad Points 513

Ouverture de ~/.docker/config.json et suppression de l'objet credHelpers a résolu le problème pour moi.

3voto

Sebastien Orban Points 31

J'avais le problème. Suite à la réponse de @adstwlearn, j'ai vérifié le fichier ~/.docker/config.json et l'une des entrées dans "credHelpers" faisait référence à "gcloud" au lieu de "gcr". Le changer a suffi pour corriger le tout sans avoir besoin de reconfigurer quoi que ce soit après.

1voto

Caleb Tolu Points 111

Si vous utilisez gcloud, exécutez la commande suivante

gcloud auth configure-docker

cela devrait mettre à jour les credHelpers dans .docker/config.json

https://cloud.google.com/container-registry/docs/advanced-authentication

cela a résolu le problème pour moi.

1voto

Alfeu Points 111

J'ai rencontré le même problème. Je suis sur Ubuntu 16.04 et j'avais installé le SDK en utilisant apt-get, et la dépendance docker-credential-gcr n'était pas disponible via apt-get au moment où j'écris cette réponse.

Je l'ai résolu en désinstallant gcloud depuis apt-get et en utilisant le script d'installation de Google Cloud SDK (https://cloud.google.com/sdk/docs/downloads-interactive):

curl https://sdk.cloud.google.com > install.sh

bash install.sh --disable-prompts

~/google-cloud-sdk/install.sh

Ensuite, j'ai fermé et réouvert le terminal, essayé d'exécuter à nouveau docker-compose et cela a fonctionné parfaitement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X