如何在docker-compose.yml的.env文件中使用环境变量?

nob*_*are 7 docker

我正在尝试在docker-compose.yml文件中使用环境变量。我有一个文件my-great-env.env

它们的外观如下:

docker-compose.yml

version: '3.4'

services:
    blahblah:
        images: greatimage
        volumes:
          - "${MY_PATH}:c:\\FinalFolder"
Run Code Online (Sandbox Code Playgroud)

我的伟大环境

MY_PATH=C:\the\path\to\folder
Run Code Online (Sandbox Code Playgroud)

当我尝试用docker运行它时,我得到

未设置MY_PATH变量。默认为空字符串。

如何使用在.env文件中定义的环境变量docker-compose.yml

Izy*_*orr 14

您的问题有两个方面:

  1. 如果要在docker-compose.yml文件中使用环境变量,则必须将它们放入文件中,命名.env如下:https : //docs.docker.com/compose/environment-variables/#the-env-file
  2. 您可以使用env_file配置选项来使用任何具有变量定义的文件,如下所述:https : //docs.docker.com/compose/environment-variables/#the-env_file-configuration-option但是!它们将仅在容器中可见,而在docker-compose.yml文件中不可见。