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'
デバッグする方法は? ymlが有効であることを確認しましたが、機能しません。
docker-compose.yml
を保存するのを忘れたため、空でした。
エラーメッセージの改善に関するこの問題 で解決策を偶然見つけました。これは動作を説明したものです。
docker-compose.yml
がまったく存在しない場合は、Niceメッセージが表示されます。
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の問題で発表されました リストは、次の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'>'.