docker - Docker:设置多行环境变量
问题描述
我想运行一个容器并将一些环境变量传递给它。
其中之一是 GCP 私有(服务帐户)密钥,它是一个多行字符串,或多或少采用以下格式:
{
"type": "service_account",
"project_id": "my-project",
"private_key_id": "39dj4847dhcba0484hb",
"private_key": "-----BEGIN PRIVATE KEY-----\nDDik499dkdm4n4849doidkdjm$90f9fkcm\n-----END PRIVATE KEY-----\n",
"client_email": "something@my-project.iam.gserviceaccount.com",
"client_id": "383748490382672627384745645363",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/somethingelse.gserviceaccount.com"
}
所以我想通过将上面的内容作为GOOGLE_APPLICATION_CREDENTIALS
环境变量传递来创建一个容器。
我认为传统的docker run -e GOOGLE_APPLICATION_CREDENTIALS=(all of the above
要么不起作用,要么手动添加所需的所有换行符会很麻烦。
我该怎么办?
PS我知道这个讨论,但它在上下文中解决了这个问题Dockerfile
解决方案
推荐阅读
- c# - 尝试遍历解决方案中的所有文档,但 ProjectItem.ProjectItems 为空
- json - 将 Json-in-TEXT 列转换为真正的 JSONB 列
- javascript - 如何从 Zapier 触发器返回数组
- c# - Unity 自定义编辑器处理 2D 视图的 DrawWireArc
- java - 如何从 objectInputStream 接收对象并将该对象传递给方法
- swift - 使用自定义路径无法在 Swift 包管理器中解析清单文件
- keras - 我们可以摆脱 Tensorflow 2.0 中的 set_session 吗?
- javascript - CraftCMS Gatsby 项目抛出错误“GraphQL 错误预期类型 [String],找到 {eq: $slug}。”
- laravel - 在一行中显示父母和孩子
- react-native-popup-menu - 如何在弹出菜单中添加偏移量?