我正在使用github中预先创建的docker-compose.yml使用ELK(弹性搜索,Logstach和Kibana)堆栈之一。当我进入克隆目录并执行docker-compose up
时,一切正常。它从与 docker-compose.yml 相同目录中的 .env 文件中提取 ELK_VERSION = 6.4.0 。
但是,例如,如果我转到一个目录并指定具有完整路径的撰写文件,它将不会获取 .env 文件。
docker-compose -f "C:\progs\docker\docker-elk\docker-compose.yml" up
。它只会抱怨未设置 ELK_VERSION 。
我也尝试设置项目目录,但是没有运气。 docker-compose -f "C:\progs\docker\docker-elk\docker-compose.yml" --project-directory "C:\progs\docker\docker-elk" up
。
除了做一个
,我一无所知$ cd <elk compose dir>
$ docker-compose up
$ cd -
但是,这对于我的小型OSS库FluentDocker是不安全的。我希望用户始终可以完全控制CurrentDirectory
。
版本: docker-compose版本1.22.0,内部版本为f46880fe
干杯,
马里奥
答案 0 :(得分:2)
Compose支持在以下环境中声明默认环境变量: 名为.env的环境文件放置在 docker-compose 命令已执行(当前工作目录)。
如果将.env文件移动到执行docker-compose的文件夹中,则它应该可以工作。