如何在 docker-compose 管理的项目中设置
GOOGLE_APPLICATION_CREDENTIALS
?
要添加什么到您的 docker-compose.yml
才能做到这一点?
我首先尝试将我的凭证路径放入
docker-compose.yml
中:
services:
flask_app:
container_name: flask_app
image: dockerhub-flask_live_app:1.0.0
build: .
ports:
- "4000:4000"
environment:
GOOGLE_APPLICATION_CREDENTIALS: /path/to/my/local/folder/keyfile.json
剧透警告,这不起作用......!
我实际上找到了答案,我认为它可以使每个人受益!
这个想法是在“卷”中创建一个临时密钥文件,您将在“环境”中引用该文件。瞧!
services:
flask_app:
container_name: flask_app
image: dockerhub-flask_live_app:1.0.0
build: .
ports:
- "4000:4000"
environment:
# https://cloud.google.com/docs/authentication/production
GOOGLE_APPLICATION_CREDENTIALS: /tmp/keys/keyfile.json
volumes:
# Inject your specific service account keyfile into the container at runtime.
- /path/to/my/local/folder/keyfile.json:/tmp/keys/keyfile.json:ro