Docker-compose''NoneType'不可迭代'

时间:2017-08-03 19:04:47

标签: elasticsearch docker ubuntu-14.04 docker-compose

我正在尝试使用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.21.15.0
我的泊坞版版本为Docker version 1.9.1, build a34a1d5 操作系统为Ubuntu 14.04.5 LTS 默认的Python解释器是Python 2.7.6

我放弃了 - 任何建议如何使这项工作?

1 个答案:

答案 0 :(得分:0)

对于docker-compose的版本'2.0',你需要Docker 1.10.0+,如Docker documentation中所述。它也在你提到的回购的README中说明。