2015-10-27 15 views
21

मैंने शुरू में सोचा था कि docker stopvagrant halt के बराबर है, और docker rmvagrant destroy है।"डॉकर स्टॉप" और "डॉकर आरएम" के बीच क्या अंतर है?

लेकिन मौलिक रूप से, डोकर कंटेनर, स्थितिरहित VOLUME बयान है, जो AFAIK docker rm के बाद भी बरकरार रखता है निर्देशिका सामग्री, अगर यह -v साथ आमंत्रित नहीं किया गया के लिए छोड़कर।

तो, क्या अंतर है?

उत्तर

25

docker stopdocker ps -a list में कंटेनर को संरक्षित करता है (जो इसे एक नई छवि में अपने राज्य को सहेजना चाहते हैं तो इसे प्रतिबद्ध करने का मौका देता है)।
यह सिग्टरम को पहले भेजता है, फिर, एक अनुग्रह अवधि के बाद, सिगकिल।

docker rmdocker ps -a सूची से कंटेनर को हटा देगा, इसकी "स्थिति" (छवि फाइल सिस्टम के शीर्ष पर लिखे गए स्तरित फाइल सिस्टम) को खो देगा।
यह कंटेनर को चला नहीं सकता है (जब तक कि -f के साथ बुलाया जाता है, इस मामले में यह सीधे सिगकिल भेजता है)।

जीवन चक्र की अवधि में, आपको पहले कंटेनर को रोकना होगा, फिर इसे हटा दें। यह container PID 1 to collect zombie processes का मौका देता है।

+0

क्या मैं कंटेनर स्थिति खो देता हूं यदि मैं 'डॉकर स्टॉप' चलाता हूं, तो 'डॉकर स्टार्ट' चलाता हूं? मैंने सोचा कि मैं करता हूँ। – mkurnikov

+0

@mkurnikov http://stackoverflow.com/a/21928864/6309 से, आप अपने परिवर्तन नहीं खोते हैं। – VonC

+0

ठीक है, इसलिए यह _are_ के बाद 'vagrant' आदेशों के बराबर है। – mkurnikov

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