我如何使用Dockerfile将Google服务帐户密钥作为环境变量之一传递,以在Google Cloud Run上部署

问题描述 投票:0回答:1

我正在尝试通过Dockerfile在Google Cloud Run上部署python脚本。该脚本将服务帐户密钥作为变量之一。将服务密钥作为环境变量挂载以便在Google Cloud Run上进行部署的最佳实践是什么。为了在Google Kubernetes引擎上部署相同的东西,我尝试使用Configmap存储密钥并在部署时调用它。 Google Cloud Run是否有此类规定?

google-cloud-platform dockerfile service-accounts google-cloud-run
1个回答
0
投票

正如John HanleyGuillaume Blaquiere所建议的那样,将密钥文件作为环境变量传递不是一个好习惯。不过,针对您的问题,我将解释如何在Cloud Run中使用环境变量。


为Cloud Run服务定义环境变量

您可以在Cloud Console中创建Cloud Run服务时为其指定环境变量,也可以在命令行中使用特定的flags为现有服务设置它们。

或者,可以使用ENV statement容器

中设置环境变量。

在Cloud Run中使用环境变量

为了在Python中获取值,可以使用OS模块的os.environ参数:

import os

os.environ['<name-of-the-env-variable>']

示例

如果您在Dockerfile中设置了名为'testENV'

的环境变量:
ENV testENV="my variable"

您将可以像这样检索它:

import os

sample = os.environ['testENV']
© www.soinside.com 2019 - 2024. All rights reserved.