如何在Docker Compose中从服务器设置环境变量?

时间:2018-06-18 11:20:37

标签: docker asp.net-core docker-compose

有没有办法强制docker compose从底层机器中假设环境变量?

背景:

我决定在我的ASP.NET核心Web应用程序中使用Docker,所以我在Visual Studio中使用了Add Docker Support选项,它创建了一个 .dcproj (Docker Compose项目)

在此之前,我正在读取当前机器(我的开发机器或服务器)上的环境变量的一些配置。

我意识到当我使用docker compose项目进行调试时,我无法再从环境变量中获取数据,这是有道理的,因为docker成为了新的环境(不再是我的机器了)。我不希望这些值被推入我的git repo。

1 个答案:

答案 0 :(得分:0)

您必须在docker-compose.yml文件中指定环境变量,如此

environment:
  - VAR1
  - VAR2=fixedvalue

在这种情况下,VAR1会假定为您计算机中的变量定义的值,而VAR2将采用指定的值,无论您的计算机中配置了什么或配置了什么。

您还有env_file选项,允许您指定包含所有变量的文件。

  env_file:
    - web-variables.env

您可以在documentation

中找到更多信息