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

Docker-compose ''NoneType' is not iterable'

我正在尝试 运行 Elasticsearch-Logstash-Kibana 堆栈在 docker 上使用来自 here 的配置。它在 Windows 上工作正常,但在我的半生产 Ubuntu VM 上看起来像,docker-compose 有问题。当我 运行ning 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 版本是 Docker version 1.9.1, build a34a1d5.
OS 是 Ubuntu 14.04.5 LTS.
默认的 Python 解释器是 Python 2.7.6

我要放弃了 - 有什么建议可以使这项工作成功吗?

对于 docker-compose 的“2.0”版本,您将需要 Docker 1.10.0+,如您引用的回购协议的 Docker documentation. Its also stated in the README 中所述到.