我的情况是最好有多个.env文件,在docker-compose.yml中每个服务一个文件。有什么方法可以指定要使用的其他文件名?可以在单个服务级别上做到这一点吗?
不幸的是,我尝试使用env_file
标签,该标签设置了变量以在Dockerfile中和运行时使用。另一方面,.env文件将变量设置为在docker-compose.yml中扩展。
答案 0 :(得分:1)
很遗憾,无法为.env
文件指定备用名称。我也希望能够将其交换出去,但是您可以看到in the source code就是直接被编码到.env
的。
您是否有理由要为每个服务拆分替换变量?感觉您应该能够将所有服务的变量放入单个.env
文件中。
答案 1 :(得分:0)
是的,使用env_file
服务选项。
您可以使用“ env_file”选项将多个环境变量从外部文件传递到服务的容器,就像docker run --env-file = FILE ...:
web:
env_file:
- web-variables.env
原始文档:https://docs.docker.com/compose/environment-variables/#the-env_file-configuration-option