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.
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.
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:
gcloud components install docker-credential-gcr
, docker-credential-gcr configure-docker
.screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.AMD64-linux/tty
umount /var/lib/docker/overlay2
rm -rf /var/lib/docker
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