18

我想使用我的key.json文件在我的 docker 容器中设置 GOOGLE_APPLICATION_CREDENTIALS,但我不想将此文件复制到我的容器中。

4

3 回答 3

20
 docker run \
   -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/[FILE_NAME].json \
   -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/[FILE_NAME].json:ro \
   gcr.io/[PROJECT_ID]/[IMAGE]

参考:https ://cloud.google.com/run/docs/testing/local

于 2020-01-14T03:26:19.020 回答
1

对于在当前工作目录中使用密钥文件的任何人:

docker run \
  -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/[FILE_NAME].json \
  -v $(pwd):/tmp/keys/[FILE_NAME].json:ro \
  gcr.io/[PROJECT_ID]/[IMAGE]
于 2020-05-08T15:45:20.653 回答
0

如果要使用 docker run 设置凭据,可以使用 --env-file 标志提供文件,或使用 --env 提供参数

棘手的部分是,因为它在 json 中,你必须 cat json 文件,grep 你正在寻找的变量,用 = 替换冒号,然后删除括号。这是很多工作。

相反,为什么不直接创建文件,在文件中使用 key = value 表示法,并为文件提供:

docker run --env-file my_config_file ....
于 2019-12-09T18:56:34.043 回答