2017-08-03 3 views
1

Je suis un peu confus sur la façon dont je peux authentifier le gdoud sdk sur un conteneur docker. En ce moment, mon fichier docker comprend les éléments suivants:Comment authentifier google cloud SDK sur une image docker Ubuntu?

#Install the google SDK 
RUN curl https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz > /tmp/google-cloud-sdk.tar.gz 
RUN mkdir -p /usr/local/gcloud 
RUN tar -C /usr/local/gcloud -xvf /tmp/google-cloud-sdk.tar.gz 
RUN /usr/local/gcloud/google-cloud-sdk/install.sh 
RUN /usr/local/gcloud/google-cloud-sdk/bin/gcloud init 

Cependant, je suis confus comment j'authentifier? Quand je lance gcloud auth application-default login sur ma machine, cela ouvre un nouvel onglet en chrome qui me demande de me connecter. Comment est-ce que j'indiquerais mes informations d'identification sur le conteneur docker s'il ouvre un nouvel onglet dans Google Chrome dans le conteneur?

Répondre

0

Vous pouvez envisager d'utiliser des paquets deb lors de la configuration de votre conteneur docker comme cela est fait sur docker hub. Cela signifie que vous ne devez PAS exécuter gcloud init ou gcloud auth application-default login ou gcloud auth login ... ce sont des commandes interactives qui lancent le navigateur. Pour fournir des informations d'identification au conteneur, fournissez-le avec le fichier de clé de compte de service.

Vous pouvez télécharger une console de nuage: https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=YOUR_PROJECT ou créer avec commande gcloud

gcloud iam service-accounts keys create 

voir reference guide.

Quoi qu'il en soit une fois que vous avez le fichier clé ajouter à votre conteneur et exécuter

gcloud auth activate service-account --key-file=MY_KEY_FILE.json 

Vous devriez maintenant définir, mais si vous voulez l'utiliser comme informations d'identification par défaut d'application (ADC), qui est en cours le contexte d'autres bibliothèques et d'outils, vous devez définir la variable d'environnement suivante pour pointer vers le fichier clé:

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/MY_KEY_FILE.json 

Une chose à souligner est que l'outil gcloud ne pas utiliser ADC, donc plus tard si vous changez votre compte à autre chose, par exemple via

gcloud config set core/account [email protected] 

autres outils et bibliothèques continueront à utiliser via un fichier ancien compte clé ADC mais gcloud va maintenant utiliser un autre compte.