如何使用docker-compose将环境变量设置为docker容器

时间:2018-05-08 16:49:19

标签: docker docker-compose

我想设置凭据以使用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文件路径的多个组合,但这些都没有正常工作。

您是否知道如何正确设置?

1 个答案:

答案 0 :(得分:0)

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

你要做的就是删除下一个=符号的“”(空格),这样最后两行docker-compose.yml应如下所示: environment: - GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/CryptoTraderBot-901d31d199ce.json