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

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

以下是它们的外观:

docker-compose.yml

version: '3.4'

services:
    blahblah:
        images: greatimage
        volumes:
          - "${MY_PATH}:c:\\FinalFolder"

my-great-env.env

MY_PATH=C:\the\path\to\folder

当我尝试 docker run 这个时,我得到

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

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

解答

你的问题有两个方面:

  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文件中不可见。

Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐