簡體   English   中英

如何使用docker-compose將環境變量設置到docker容器中

[英]How to set environment variable into docker container using docker-compose

我想設置憑據以使用Google Translate Api Client,因此必須設置環境變量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撰寫環境變量文檔,我創建了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的最后兩行應如下所示: environment: - GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/CryptoTraderBot-901d31d199ce.json -GOOGLE_APPLICATION_CREDENTIALS environment: - GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/CryptoTraderBot-901d31d199ce.json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM