web-dev-qa-db-fra.com

`docker-credential-gcloud` n'est pas dans le système PATH

Après les dernières mises à jour de gcloud et de docker, je ne peux plus accéder aux images de mon référentiel de conteneurs Google. Localement, lorsque je lance: gcloud auth configure-docker, conformément aux instructions fournies après la mise à jour de gcloud, le message suivant s'affiche:

WARNING: `docker-credential-gcloud` not in system PATH.
gcloud's Docker credential helper can be configured but it will not work until this is corrected.
gcloud credential helpers already registered correctly.

Lancer which docker-credential-gcloud renvoie docker-credential-gcloud not found.

Je n'ai pas d'autres problèmes de chemin liés à gcloud et, pour la vie, ne sait pas comment installer/ajouter docker-credential-gcloud à chemin Voici ce que j'ai installé (montré via gcloud version):

Google Cloud SDK 197.0.0
beta 2017.09.15
bq 2.0.31
container-builder-local
core 2018.04.06
docker-credential-gcr
gsutil 4.30

J'ai aussi la version 18.03.0-ce-mac60 (23751) de Docker CE.

Voici mon $ PATH: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

J'ai également exécuté source /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc sur l'installation initiale de gcloud.

23
ZaxR

Remarque : Tous les docker-credential-gcr ci-dessous peuvent être remplacés par docker-credential-gcloud. Je pense que ce sont juste des versions différentes de gcloud, je peux me tromper.

J'ai aussi utilisé Homebrew Cask pour installer gcloud. J'ai installé docker-credential-gcr avec 

$ gcloud components install docker-credential-gcr

Et puis, comme vous l'avez dit, which docker-credential-gcr ne vous a rien donné.

J'ai donc lancé which gcloud pour trouver un lien symbolique vers gcloud dans /usr/local/bin. Ce lien symbolique est créé par Homebrew lorsque vous avez installé gcloud à la première place. Maintenant, docker-credential-gcr n'a pas été installé par Homebrew mais par gcloud lui-même, il n'y a donc pas de lien symbolique.

J'ai appelé readlink /usr/local/bin/gcloud et découvert que gcloud est installé dans /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/.

Ensuite:

$ ls /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin

Là, vous devriez voir docker-credential-gcr listé ici.

Je l'ai simplement lié à /usr/local/bin:

$ ln -s /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/docker-credential-gcr /usr/local/bin/

Puis lancez:

$ docker-credential-gcr configure-docker

Ça devrait réussir.

27
Xiwen Li

Jamais trouvé un moyen de résoudre directement le problème docker-credential-gcloud, mais ce qui suit m'a remis en marche. ATTENTION: ce qui suit va supprimer toutes vos images de docker existantes et installer un tas d’utilitaires gcloud:

  1. gcloud components install docker-credential-gcr
  2. Redémarrez complètement le terminal
  3. docker-credential-gcr configure-docker.
  4. screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/tty

  5. umount /var/lib/docker/overlay2

  6. rm -rf /var/lib/docker
  7. Redémarrez complètement le terminal.
2
ZaxR

Cela ressemble vraiment à quelque chose avec le Homebrew Cask. J'ai désinstallé le logiciel Cask, puis réinstallé le SDK Google Cloud en téléchargeant manuellement la balle compressée et en exécutant le script d'installation fourni, comme décrit ici.

Maintenant, docker-credential-gcloud est sur mon chemin:

$ which docker-credential-gcloud
/Users/moritz/google-cloud-sdk/bin/docker-credential-gcloud
0
anothernode