我是新来码头的。我开发了.Net核心Api,它应该使用进行文件存储。我使用本教程来配置https://medium.com/net-core/using-google-cloud-storage-in-asp-net-core-74f9c5ee55f5,但当我必须传递凭据.json路径时,我会遇到问题。如何在docker-compose up时将credentials.json添加到docker容器?在容器上的哪个路径会有这个文件
发布于 2020-11-02 10:53:48
注意:由于您没有指定您正在使用的Google Cloud服务,因此此答案假定Google Compute Engine与Docker相结合。
如果您将服务账号存储在容器主机上的JSON文件中,请使用Docker bind mount功能。此示例将主机的/secrets目录映射到容器的/config目录。然后,您将使用以/config/开头的完整路径访问服务帐户
-v /secrets:/config但是,Google Cloud Compute服务的设计建议为VM实例分配一个服务帐户,然后访问来自元数据的凭据。Google SDK客户端使用ADC来定位凭据,如果没有指定服务帐户,它将检查OAuth访问令牌的元数据。这包括.NET的谷歌客户端。
要检索的元数据终结点和OAuth访问令牌:
http://metadata.google.internal/computeMetadata/v1instance/service-accounts/default/token
另一种选择是对服务帐户JSON文件的内容进行base64编码,并将其作为环境变量传递给容器,然后将其保存到容器内的文件中(在您的代码、shell脚本等中)。
https://stackoverflow.com/questions/64637858
复制相似问题