我是docker的新手。 我开发了.Net Core Api,该文件应使用GCP存储进行文件存储。 我使用了本教程来配置https://medium.com/net-core/using-google-cloud-storage-in-asp-net-core-74f9c5ee55f5,但是当我必须通过凭据.json路径时遇到了问题。 docker-compose up时如何将凭据.json添加到docker容器中? 以及该文件在容器上的路径是什么
答案 0 :(得分:3)
注意:由于您未指定要使用的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的Google客户端。
要检索和OAuth访问令牌的元数据终结点:
http://metadata.google.internal/computeMetadata/v1instance/service-accounts/default/token
另一种选择是对服务帐户JSON文件的内容进行base64编码,并将其作为环境变量传递到容器,然后将其保存到容器内的文件中(在代码,shell脚本等中)。