【发布时间】:2020-04-11 07:09:10
【问题描述】:
我正在尝试将秘密传递给 Cloud Run 运行命令。秘密是一个 json 文件。我想将它作为环境变量传递。
它在 docker 中非常有用:
docker run -it -e "SECRET_ENV=$(<path/secretFile.json)" -p 8080:8080 my_image
当我在 gcloud 上使用相同的方法时,我收到一个错误,告诉我它正在尝试运行 json 文件的每一行:
gcloud run deploy --image gcr.io/account/project --update-env-vars "SECRET_JSON=$(<path/secretFile.json)"
干杯
【问题讨论】:
-
我从未见过 $(filename) 作为将文件内容输入命令行的一种方式。我总是看到 $(cat filename) ...你能仔细检查一下你正在编码 $(filename)。我的想法是应该尝试执行文件名中的所有命令,输出变成变量替换。
-
用 cat 尝试过,但结果相同,感谢您的尝试 :) 而且它 100% 在 docker 命令中工作,在我的开发过程中一直在使用它。感谢您的尝试
-
哇!! ...我刚刚意识到扩展开始了: $(
-
当从 sh 文件中使用 -x 运行时,我得到: dict arg 语法错误:
-
我们可能需要查看“在”secretFile.json 中的内容。我希望有一种简单的方法可以在 StackOverflow 中进行实时聊天......我很想在你工作时看着你的肩膀:-(
标签: google-cloud-platform environment-variables gcloud google-cloud-run