【问题标题】:How to set environment variable into docker container using docker-compose如何使用 docker-compose 将环境变量设置到 docker 容器中
【发布时间】:2018-05-09 00:51:19
【问题描述】:

我想设置凭据以使用 Google Translate Api 客户端,因此我必须设置环境变量 GOOGLE_APPLICATION_CREDENTIALS 该值是凭据文件的路径(来自 Google Cloud)。

当我使用docker builddocker run 时,这很容易。

我用过docker run --env GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/CryptoTraderBot-901d31d199ce.json,环境变量已经设置好了。

当我尝试在 docker-compose 中设置它时,会遇到更困难的事情。我必须使用 docker-compose,因为我需要的容器很少,所以这是实现这一目标的唯一方法。

基于Docker compose environment variables documentation,我创建了如下所示的 docker-compose.yml 文件:

version: "3"
services:
redis:
  image: redis:4-alpine
crypto-bot:
  build: .
  depends_on:
    - redis
  environment:
    - GOOGLE_APPLICATION_CREDENTIALS = /usr/src/app/CryptoTraderBot-901d31d199ce.json

我也尝试过多种 .json 文件的路径组合,但都没有正常工作。

您知道如何正确设置吗?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    在创建这个问题时,我一直在以一种有趣且简单的方式解决这个问题,但我一直认为我发布答案是为了帮助将来遇到类似问题的人。

    您所要做的就是删除 " " (空格) next = 符号,因此 docker-compose.yml 的最后两行应该如下所示: environment: - GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/CryptoTraderBot-901d31d199ce.json

    【讨论】:

    • 伙计,你太棒了!我一直在寻找我的问题 2 小时。
    猜你喜欢
    • 2022-11-10
    • 2020-02-23
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多