2017-02-14 9 views
15

मैंने डॉकर-कंपोज़ के लिए दस्तावेज़ों के माध्यम से देखा और मुझे लगता है कि संस्करण 3 में एक पुन: प्रारंभ नीति है, लेकिन यह केवल झुंड के लिए है। मैं अपने सेवा पर restart_policy स्थापित करने की कोशिश की लेकिन यह त्रुटि आई:डॉकर-कंपोज़ पुनरारंभ नीति

ERROR: The Compose file './docker-compose.yml' is invalid because: 
Unsupported config option for services.web: 'restart_policy' 

वहाँ डोकर-रचना एक झुंड के बाहर का उपयोग कर बनाई गई सेवाओं पर पुन: प्रारंभ करने नीति सेट करने के लिए कोई तरीका है?

+2

करते हैं सेवाओं के अंदर एक संस्करण 3 फ़ाइल लिखें? संस्करण 3 में कनवर्ट करने का उद्देश्य झुंड समर्थन के लिए है। – BMitch

उत्तर

29

संस्करण 2 restart कीवर्ड का उपयोग करके नीतियों को पुनरारंभ करने का समर्थन करता है, और यदि आपको स्वर्म की आवश्यकता नहीं है (जिसे आपने कहा था कि आपको आवश्यकता नहीं है) तो आपको ठीक काम करना चाहिए।

version: '2' 
services: 
    web: 
    image: apache 
    restart: always 

https://docs.docker.com/compose/compose-file/compose-file-v2/

लिखें प्रारूप संस्करण 3 एक पैरामीटर restart_policy कहा जाता है, लेकिन अब तक के रूप में मैं प्रलेखन से बता सकते हैं यह deploy का हिस्सा है, जो केवल प्रयोग किया जाता है जब एक झुंड को तैनाती के रूप में मान्य है। तो संस्करण 3 शायद आपके मामले में उपयोगी नहीं है।

+0

प्रश्न संस्करण 3 के बारे में था, उत्तर को अद्यतन करने का प्रयास करें? https://docs.docker.com/compose/compose-file/#/restartpolicy –

+0

मुझे लगता है कि प्रश्न में त्रुटि इसलिए थी क्योंकि गैर संस्करण 3 कम्पोज़ फ़ाइल का उपयोग –

+0

@ क्रिकेट_007 डॉक्स से AFAICT, 'restart_policy' केवल मान्य है 'तैनाती' के अंदर, जिसका उपयोग केवल स्वार करते समय भी किया जाता है। चूंकि ओपी ने स्वार का उपयोग करके _not_ के बारे में पूछा, मुझे लगता है कि मेरा मूल उत्तर बस जैसा ही होना चाहिए। –

25

इसके प्रलेखन

3 संस्करण में में एक अंतराल की तरह दिखता है हम अभी भी v.2 में एक ही पहले की तरह "पुनः आरंभ" का उपयोग कर सकते हैं (के लिए झुंड में तैनात छोड़कर) आप की जरूरत

version: '3' 
services: 
    my-service: 
    restart: on-failure:5 
+1

यह एक सही उत्तर है क्योंकि सवाल संस्करण 3 के बारे में था। – StalkAlex

+0

मुझे एपीआई के दस्तावेजी हिस्से के रूप में '5: नहीं दिखाई देता है। क्या मुझे याद आया? क्या आप इसका इरादा स्पष्ट कर सकते हैं? – cdaringe

+0

ऐसा लगता है कि वे [निश्चित रूप से अंतर] [https://docs.docker.com/compose/compose-file/#restart) दस्तावेज़ में। : 5 अभी भी दस्तावेज नहीं है, और स्पष्ट रूप से "अधिकतम पुनः प्रयास संख्या" है। मैंने इसे इस तरह इस्तेमाल किया: 'पुनरारंभ करें: जब तक बंद नहीं किया गया: 5' और मिल गया है _maximum पुनः प्रयास गिनती का उपयोग पुनरारंभ नीति के साथ नहीं किया जा सकता' तक-रोक दिया'_। मैंने 5 के बजाय 0 डाल दिया और यह काम किया – riverhorse

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