我正在尝试通过Dockerfile在Google Cloud Run上部署python脚本。该脚本将服务帐户密钥作为变量之一。将服务密钥作为环境变量挂载以便在Google Cloud Run上进行部署的最佳实践是什么。为了在Google Kubernetes引擎上部署相同的东西,我尝试使用Configmap存储密钥并在部署时调用它。 Google Cloud Run是否有此类规定?
正如John Hanley和Guillaume Blaquiere所建议的那样,将密钥文件作为环境变量传递不是一个好习惯。不过,针对您的问题,我将解释如何在Cloud Run中使用环境变量。
您可以在Cloud Console中创建Cloud Run服务时为其指定环境变量,也可以在命令行中使用特定的flags为现有服务设置它们。
或者,可以使用ENV statement在容器
中设置环境变量。为了在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']