【问题标题】:docker-compose cannot understand my env_filedocker-compose 无法理解我的 env_file
【发布时间】:2016-10-04 05:05:37
【问题描述】:

我正在尝试使用 docker-compose 启动 Datastax 集群。

为了避免重复服务,我用我的环境变量创建了一个文件,并在我的 docker compose 文件中设置了 env_file 属性。 Docker-compose 能够找到 env 文件(当我输入错误的路径时,它返回了一个关于文件不存在的错误),但仍然无法读取我在它上面添加的值!

这是我的 docker-compose 和我的 env 文件。

如您所见,当我在 PowerShell 窗口中运行“docker-compose up”时,它不起作用。

我错过了什么?!?!

这里是我正在使用的 docker-compose 版本的详细信息

 docker-compose  version 1.8.0 
 build d988a55 docker-py version: 1.9.0
 CPython version: 2.7.11  
 OpenSSL version: OpenSSL 1.0.2d 9 Jul 2015

这是 docker (for windows) 版本

Client:
  Version:      1.12.1
  API version:  1.24
  Go version:   go1.6.3
  Git commit:   23cf638
  Built:        Thu Aug 18 17:52:38 2016
  OS/Arch:      windows/amd64

Server:
  Version:      1.12.1
  API version:  1.24
  Go version:   go1.6.3
  Git commit:   23cf638
  Built:        Thu Aug 18 17:52:38 2016
  OS/Arch:      linux/amd64

谢谢

【问题讨论】:

  • 我没有在 Windows 上尝试过,但在 Unix 上,你的环境变量(例如 CLUSTER_NAME)和“=”和值之间不能有空格。当我使用空格时,我收到错误:poorly formatted environment: variable 'xxx ' has white spaces. 这是另一个错误,所以我不确定。但是您可以给它一个机会并编辑您的 .env 文件并删除变量和值之间的空格。
  • 最初它没有空格,然后我改变了作为我最后一次绝望的测试让它工作。我也尝试了变量:“xxx”,但效果不佳。

标签: docker docker-compose datastax


【解决方案1】:

您似乎将env_file.env 文件混淆了。

env_file 为容器提供环境变量,但对 Compose 文件不可用

.env 提供环境变量以供在 Compose 文件中使用

https://docs.docker.com/compose/environment-variables/

【讨论】:

  • 开枪,我想我明白我的误会了!所以,你的意思是我的“cluster.env”文件应该命名为“.env”,如果我删除 env_file 部分,一切都应该像魅力一样工作吗?我今晚会试一试,但我很有信心它会奏效。
猜你喜欢
  • 2016-10-25
  • 1970-01-01
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-21
  • 2021-01-31
  • 1970-01-01
相关资源
最近更新 更多