如何validation我的docker-compose.yml?

我使用docker-compose设置了一个容器堆栈。 然而通过跑步

docker-compose up 

我收到一个相当神秘的错误信息:

 Traceback (most recent call last): File "/usr/local/bin/docker-compose", line 9, in <module> load_entry_point('docker-compose==1.4.2', 'console_scripts', 'docker-compose')() File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 39, in main command.sys_dispatch() File "/usr/local/lib/python2.7/dist-packages/compose/cli/docopt_command.py", line 21, in sys_dispatch self.dispatch(sys.argv[1:], None) File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 27, in dispatch super(Command, self).dispatch(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/compose/cli/docopt_command.py", line 24, in dispatch self.perform_command(*self.parse(argv, global_options)) File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 57, in perform_command verbose=options.get('--verbose')) File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 78, in get_project config.load(config_details), File "/usr/local/lib/python2.7/dist-packages/compose/config.py", line 138, in load for service_name, service_dict in list(dictionary.items()): AttributeError: 'NoneType' object has no attribute 'items' 

如何debugging? 我已经检查,该XML是有效的,但它不工作。

我忘了保存我docker-compose.yml ,所以它是空的。

我在这个问题上偶然发现了解决这个问题的更好的错误信息 。

如果完全不存在docker-compose.yml会得到一个好消息:

 Can't find a suitable configuration file in this directory or any parent. Are you in the right directory? Supported filenames: docker-compose.yml, docker-compose.yaml, fig.yml, fig.yaml 

在docker-compose的问题列表上,声明在upcomming 1.5版本中会有更好的错误信息:

 Top level object needs to be a dictionary. Check your .yml file that you have defined a service at the top level. 

从版本1.7.1开始,指出您的文件为空的错误消息显示如下:

 ERROR: Top level object in './docker-compose.yml' needs to be an object not '<type 'NoneType'>'.