【问题标题】:Firestore authorization for Google Compute engine for app on a docker containerDocker 容器上应用程序的 Google Compute 引擎的 Firestore 授权
【发布时间】:2020-05-19 06:27:03
【问题描述】:
【问题讨论】:
标签:
firebase
docker
google-cloud-firestore
google-compute-engine
【解决方案1】:
所以,我可以在哪里找到这个documentation,您可以将您的 GOOGLE_APPLICATION_CREDENTIALS 注入 docker 以便在本地测试云运行,我知道这不是云运行,但我相信相同的命令可以用于为了将您的凭据注入容器。
据我所知,很多时候社区需要步骤和命令,因为链接可能会更改,信息也可能会更改,我将复制注入凭据所需的步骤。
有关说明,请参阅Getting Started with Authentication
关于生成、检索和配置您的服务帐户
凭据。
-
以下 Docker 运行标志注入凭据和
从本地系统配置到本地容器:
- 使用 --volume (-v) 标志将凭证文件注入
容器(假设您已经设置了
您机器上的 GOOGLE_APPLICATION_CREDENTIALS 环境变量):
-v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro
- 使用 --environment (-e) 标志设置
容器内的 GOOGLE_APPLICATION_CREDENTIALS 变量:
-e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json
或者,使用这个完全配置的 Docker 运行命令:
PORT=8080 && docker run \
-p 9090:${PORT} \
-e PORT=${PORT} \
-e K_SERVICE=dev \
-e K_CONFIGURATION=dev \
-e K_REVISION=dev-00001 \
-e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json \
-v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro \ gcr.io/PROJECT_ID/IMAGE
注意路径
/tmp/keys/FILE_NAME.json
上例中显示的位置是放置您的
容器内的凭据。但是,其他目录位置
也将工作。关键的要求是
GOOGLE_APPLICATION_CREDENTIALS 环境变量必须与
在容器内绑定挂载位置。
希望这对你有用。