2015-10-05 7 views
10

मैं डॉकर-रचना का उपयोग कर एक कंटेनर स्टैक स्थापित कर रहा हूं।मेरे डॉकर-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 में समाधान में ठोकर खा रहा था जो व्यवहार का वर्णन कर रहा था। कोई 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 

यह anounced on the docker-compose's issue सूची है कि वहाँ आगामी 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'>'. 
+7

पवित्र बकवास, मुझे विश्वास नहीं है कि मैं भी बचाने के लिए भूल गया था। –

+0

@CodyReichert अधिक पठनीय त्रुटि संदेश के लिए, डॉकर-कंपोज़ को अपग्रेड करने पर विचार करें। – k0pernikus

+1

एलओएल। या तो बचाया नहीं मारा। इस जवाब के साथ अच्छी तरह से किया। पूरी तरह से। –

संबंधित मुद्दे