2017-08-03 34 views
1

我對如何在碼頭集裝箱上驗證gcloud sdk有點困惑。現在,我的碼頭文件包括以下內容:如何驗證Docker Ubuntu映像上的Google雲端SDK?

#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 

但是,我很困惑我將如何進行身份驗證?當我在我的機器上運行gcloud auth application-default login時,它會在Chrome中打開一個新標籤,提示我登錄。如果在容器中的谷歌瀏覽器中打開一個新選項卡,我將如何在Docker容器上輸入我的憑據?

回答

0

在設置碼頭容器時,您可能會考慮使用deb包,因爲它在docker hub上完成。

也就是說你不應該運行gcloud initgcloud auth application-default logingcloud auth login ......這些是啓動瀏覽器的交互式命令。爲容器提供憑證,爲其提供服務帳戶密鑰文件。

您可以從雲控制檯下載一個:https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=YOUR_PROJECTgcloud命令

gcloud iam service-accounts keys create 

看到reference guide創建它。

無論哪種方式,一旦你的密鑰文件,把它添加到您的容器和運行

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

您現在應該進行設置,但如果你想使用它作爲應用程序的默認憑證(ADC),也就是在其他庫和工具的情況下,你需要設置以下環境變量指向密鑰文件:

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/MY_KEY_FILE.json 

這裏有一點要指出的是,gcloud工具不使用ADC,所以以後如果你改變例如,您的帳戶到其他地方通過其他

gcloud config set core/account [email protected] 

工具和庫將繼續通過ADC密鑰文件使用舊的帳戶,但gcloud現在將使用不同的帳戶。

相關問題