如何使用docker compose将环境变量设置到docker容器中

如何使用docker compose将环境变量设置到docker容器中,docker,docker-compose,Docker,Docker Compose,我想设置使用Google Translate Api客户端的凭据,因此我必须设置环境变量Google\u APPLICATION\u credentials该值是凭据文件的路径(来自Google Cloud) 当我被使用docker build和docker run时,这非常简单 我已经用过docker跑了 --已设置env GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/CryptoTraderBot-901d31d199ce.json和环境变量 当我试

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

当我被使用
docker build
docker run
时,这非常简单

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

当我试图在docker compose中设置它时,更困难的事情发生了。我必须使用docker compose,因为我需要的容器很少,所以这是实现这一点的唯一方法

基于此,我创建了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文件路径的组合,但没有一种能够正常工作


你知道我怎样才能把它调好吗

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

您所要做的就是删除“”(空格)next
=
符号,这样docker-compose.yml的最后两行应该如下所示:

环境:

-GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/CryptoTraderBot-901d31d199ce.json

伙计,你太棒了!我已经找了两个小时的问题了。