我正在尝试使用here的配置在docker上运行Elasticsearch-Logstash-Kibana堆栈。它在Windows上工作正常,但看起来在我的半生产Ubuntu VM上,docker-compose有问题。当我正在运行docker-compose up
时,我遇到以下错误:
/opt/elk-stack# docker-compose up
Recreating f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_elkstack_elasticsearch_1 ...
Recreating f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_elkstack_elasticsearch_1
ERROR: for f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_f5a2cff82dbf_elkstack_elasticsearch_1 argument of type 'NoneType' is not iterable
ERROR: for elasticsearch argument of type 'NoneType' is not iterable
Traceback (most recent call last):
File "bin/docker-compose", line 3, in <module>
File "compose/cli/main.py", line 68, in main
File "compose/cli/main.py", line 118, in perform_command
File "compose/cli/main.py", line 928, in up
File "compose/project.py", line 450, in up
File "compose/parallel.py", line 70, in parallel_execute
TypeError: argument of type 'NoneType' is not iterable
Failed to execute script docker-compose
我试图从docker-compose.yml文件中删除几乎所有内容。以下是它现在的样子:
version: '2'
services:
elasticsearch:
build: elasticsearch/
logstash:
build: logstash/
depends_on:
- elasticsearch
kibana:
build: kibana/
depends_on:
- elasticsearch
不幸的是,错误仍然存在。当我运行docker-compose -f docker-compose.yml config
时,看起来所有内容都被解析得很好,并且YML文件本身没有错误:
/opt/elk-stack# docker-compose -f docker-compose.yml config
services:
elasticsearch:
build:
context: /opt/elk-stack/elasticsearch
kibana:
build:
context: /opt/elk-stack/kibana
depends_on:
- elasticsearch
logstash:
build:
context: /opt/elk-stack/logstash
depends_on:
- elasticsearch
version: '2.0'
我尝试过不同版本的docker-compose,从1.11.2
到1.15.0
。
我的泊坞版版本为Docker version 1.9.1, build a34a1d5
操作系统为Ubuntu 14.04.5 LTS
默认的Python解释器是Python 2.7.6
。
我放弃了 - 任何建议如何使这项工作?
答案 0 :(得分:0)
对于docker-compose的版本'2.0',你需要Docker 1.10.0+,如Docker documentation中所述。它也在你提到的回购的README中说明。