2015-10-05 6 views
10

私はdocker-composeを使ってコンテナスタックを設定しています。デバッグする方法私のdocker-compose.ymlを確認するには?

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' 

:まだ

docker-compose up 

を実行して、私はむしろ不可解なエラーメッセージが表示されますか?私は、ymlが有効であることを確認しましたが、まだ動作しません。

答えて

20

私はdocker-compose.ymlを保存するのを忘れていたので、それは空でした。

私はこの現象を説明していたthis issue about making the error message betterで解決策を見つけました。

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 

それはupcomming 1.5リリースでよりよいエラーメッセージがあることをanounced on the docker-compose's issueリストだった:

Top level object needs to be a dictionary. Check your .yml file that 
you have defined a service at the top level. 
docker-compose.ymlがまったく存在しない場合

一つは素敵なメッセージを取得します

バージョン1.7.1では、ファイルが空であることを示すエラーメッセージが表示されます。

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

私は救いのけをするのを忘れてしまったとは思えません。 –

+0

@CodyReichert読みやすいエラーメッセージのために、docker-composeのアップグレードを検討してください。 – k0pernikus

+1

LOL。どちらも保存しませんでした。この答えでうまくやった。徹底的に。 –