如何为 docker GCP CloudRun 服务提供 env 文件

时间:2021-07-10 15:07:47

标签: docker mariadb google-cloud-run google-secret-manager

我的 docker-compose 有 .env 文件,并且能够使用“docker-compose up”运行

现在推送到云注册中心,想要云运行

如何提供各种环境变量?

我确实在机密管理器中创建了机密,但如何将两者集成,以便我的容器开始读取所有需要的机密?

注意:我的 docker-compose 是一个带有数据库的应用程序,但如果需要,我可以将它们拆分为 2 个容器,但它们仍然需要机密

编辑:添加了secret referencesenter image description here

编辑:

我无法运行我的容器

如果 env 文件 X=x ,并且 docker-compose 环境 app.prop=${X} 那么我应该创建秘密 X 还是 x?

Cloud 是使用 Dockerfile 还是 docker-compose 运行的?我推送的图像仅从 docker-compose 构建。对不起,我很困惑(因为它不起作用,所以不假设琐碎的事情)

1 个答案:

答案 0 :(得分:0)

无法在 Cloud Run 上使用 docker-compose,因为它是为单个无状态容器设计的。我的建议是从您的应用程序服务创建一个映像,将该映像上传到 Google Container Registry 以便将其用于您的 Cloud Run 服务,然后connect it to Cloud SQL 按照随附的文档进行操作。您可以使用 Secret Manager 存储数据库凭据,并将其作为环境变量传递给您的 Cloud Run 服务(选中 this documentation)。

相关问题