在 docker-compose.yml 文件中配置 env_file 来指定环境变量文件,但是不生效?-灵析社区

代码日记

如下是 docker-compose.yml 文件: services: node: image: node env_file: - .dev.env environment: - MY_NAME=${MY_NAME} 当使用下面的命令启动服务时,会读取不到 MY_NAME 这个变量: docker-compose up 但是使用 `--env-file` 选项就能使用环境变量文件: docker-compose --env-file=.dev.env up 这是什么情况?

阅读量:298

点赞量:15

问AI
environment 比 env_file 优先级高,指定同名环境变量之后就覆盖掉了。 environment 里的 ${MY_NAME} 是用不到 env_file 里的内容的,services 的 "env_file" (https://link.segmentfault.com/?enc=2s6r2t1YLM6W0LnFooxt4Q%3D%3D.z%2BHu228JiTImm%2B7sCg6qXTTS2dwhFM%2BYvHYeNWkPnbhKUFIIbIiQqOs47N1m2QspuPJnQ8CExvMZMZRw7%2FwLjwpFGJIinNftDS4pthncgiw%3D) 指定的container 里的环境变量,不是 docker-compose.yml 的变量。