डॉक-कंपोज़ और डॉक-कंपोज़ की शुरुआत में क्या अंतर है?


124

जब भी मैं अमल करता हूं

docker-compose start 
docker-compose ps

मैं अपने कंटेनरों को "यूपी" राज्य के साथ देखता हूं। यदि मैं करता हूँ

docker-compose up -d

मैं और अधिक क्रिया देखूंगा लेकिन इसकी एक ही अवस्था होगी। क्या दोनों आज्ञाओं में कोई अंतर है?

जवाबों:


166

docker- रचना प्रारंभ
( https://docs.docker.com/compose/reference/start/ )

एक सेवा के लिए मौजूदा कंटेनर शुरू करता है।

docker-compose up
( https://docs.docker.com/compose/reference/up/ )

बनाता है, (पुनः) एक सेवा के लिए कंटेनरों को बनाता है, शुरू करता है और संलग्न करता है।

जब तक वे पहले से ही चल रहे हैं, यह कमांड किसी भी लिंक की गई सेवाओं को भी शुरू करता है।

docker-compose upआदेश प्रत्येक कंटेनर (अनिवार्य रूप से चलाने का उत्पादन एकत्रित करता है docker-compose logs -f)। जब कमांड बाहर निकलता है, तो सभी कंटेनरों को रोक दिया जाता है। रनिंग docker-compose up -dबैकग्राउंड में कंटेनर्स को स्टार्ट करता है और उन्हें रनिंग छोड़ देता है।

यदि किसी सेवा के लिए मौजूदा कंटेनर हैं, और कंटेनर के निर्माण के बाद सेवा के कॉन्फ़िगरेशन या छवि को बदल दिया गया था, तो कंटेनरों docker-compose upको रोकना और पुन: निर्माण करके परिवर्तनों को चुनता है (घुड़सवार संस्करणों को संरक्षित करना)। कम्पोज़ को बदलाव लेने से रोकने के लिए, --no-recreateध्वज का उपयोग करें ।

संपूर्ण CLI संदर्भ के लिए:
https://docs.docker.com/compose/reference/


3
docker - compose CLI संदर्भ के लिए अद्यतन लिंक: docs.docker.com/compose/reference * docker - compose up: docs.docker.com/compose/reference/up * docker - compose
माइकल

18

डॉकटर में अक्सर पूछे जाने वाले प्रश्न यह बहुत स्पष्ट रूप से समझाया गया है:

अप, रन और स्टार्ट के बीच क्या अंतर है?

आमतौर पर, आप चाहते हैं docker-compose upupA में परिभाषित सभी सेवाओं को शुरू करने या फिर से शुरू करने के लिए उपयोग करें docker-compose.yml। डिफ़ॉल्ट "संलग्न" मोड में, आप सभी कंटेनरों से सभी लॉग देखते हैं। "अलग" मोड में ( -d), कंटेनरों को शुरू करने के बाद लिखें, लेकिन कंटेनर बैकग्राउंड में चलते रहते हैं।

docker-compose runआदेश "एक बंद" या "सहारा" में चल रहे कार्यों के लिए है। इसके लिए उस सेवा नाम की आवश्यकता होती है जिसे आप चलाना चाहते हैं और केवल उन सेवाओं के लिए कंटेनर शुरू करते हैं, जो चल रही सेवा पर निर्भर करती है। run परीक्षण चलाने या डेटा वॉल्यूम कंटेनर में डेटा निकालने या जोड़ने जैसे एक प्रशासनिक कार्य करने के लिए उपयोग करें । runकमांड इस तरह docker run -tiसे कार्य करता है कि यह कंटेनर के लिए एक इंटरैक्टिव टर्मिनल खोलता है और कंटेनर में प्रक्रिया की निकास स्थिति से मेल खाती एक निकास स्थिति देता है।

docker-compose startआदेश केवल पुनः आरंभ करने के कंटेनर है कि पहले बनाया गया था, लेकिन बंद कर दिया गया के लिए उपयोगी है। यह कभी भी नए कंटेनर नहीं बनाता है।


कैसे पुनरारंभ कमांड इनमें से किसी से अलग है - रन, स्टार्ट, अप?
नाग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.