如何在Docker Ubuntu映像上validationGoogle云端SDK?
我有点困惑,我如何可以在Docker容器上validationgcloud sdk。 现在,我的docker文件包括以下内容:
#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
但是,我很困惑我将如何authentication? 当我在我的机器上运行gcloud auth application-default login
时,它会在chrome中打开一个新标签,提示我login。 如果在容器中的谷歌浏览器中打开一个新标签页,我将如何在Docker容器上input我的凭据?
在Docker集线器上完成Docker容器设置时,可以考虑使用deb包。
这就是说你不应该运行gcloud init
或者gcloud auth application-default login
或者gcloud auth login
…这些是启动浏览器的交互命令。 为容器提供凭证,为其提供服务帐户密钥文件。
您可以从云端控制台下载: https : gcloud
= gcloud
或使用gcloud
命令创build
gcloud iam service-accounts keys create
见参考指南 。
无论哪种方式,一旦你有密钥文件将其添加到您的容器并运行
gcloud auth activate service-account --key-file=MY_KEY_FILE.json
现在应该设置,但是如果要将其用作应用程序默认凭据(ADC),即在其他库和工具的上下文中,则需要将以下环境variables设置为指向密钥文件:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/MY_KEY_FILE.json
有一件事要指出, gcloud
工具不使用ADC,所以后来如果你改变你的帐户到其他东西,例如通过
gcloud config set core/account my_other_login@gmail.com
其他工具和库将通过ADC密钥文件继续使用旧帐户,但gcloud
现在将使用不同的帐户。