2015-09-27 6 views
5

मैंने अभी डॉकर का उपयोग शुरू किया है, और मुझे यह बहुत पसंद है, लेकिन मेरे पास एक छद्म वर्कफ़्लो है जिसे मैं स्ट्रीम करना चाहता हूं। जब मैं अपनी डॉकरफाइल स्क्रिप्ट पर पुनरावृत्ति कर रहा हूं, तो मैं अक्सर बैश सत्र लॉन्च करके बिल्ड के बाद चीजों का परीक्षण करता हूं, कुछ कमांड चलाता हूं, यह पता लगाता हूं कि और ऐसा पैकेज सही ढंग से इंस्टॉल नहीं हुआ था, तो वापस जा रहा है और मेरे डॉकरफाइल tweaking।न्यूनतम लिनक्स इंस्टॉल पर एक शेल सत्र "डॉकर रन" कैसे करें और तुरंत कंटेनर को फाड़ें?

चलो कहते हैं कि मैं मेरी छवि का निर्माण किया है और buildfoo के रूप में यह टैग किए गए हैं, मैं इसे इस तरह चलाने चाहते हैं:

 $> docker run -t -i buildfoo 

       ... enter some bash commands.. then ^D to exit 

तो मैं एक कंटेनर चल रहा साफ करने के लिए है कि होगा। आम तौर पर मैं सिर्फ इस तरह सब कुछ nuke:

docker rm --force `docker ps -qa` 

यह मेरे लिए ठीक काम करता है .. फिर भी, मैं नहीं बल्कि मैन्युअल कंटेनर निकालने की आवश्यकता नहीं होगी।

कोई भी सुझाव कृतज्ञता से स्वीकार किया गया है!


कुछ अतिरिक्त माइनर विवरण:

न्यूनतम centos 7 छवि चल रहा है और मेरे शेल के रूप में पार्टी का उपयोग कर।

उत्तर

10

कृपया डॉकर रन कमांड के -rm ध्वज का उपयोग करें। --rm=true या बस --rm

यह बाहर निकलने पर कंटेनर को स्वचालित रूप से हटा देता है (-d के साथ असंगत)। उदाहरण:

docker run -i -t --rm=true centos /bin/bash 

या

docker run -i -t --rm centos /bin/bash 
+2

आप इसे है '--rm = FALSE' हैं बनाता है? –

+0

सही उत्तर को अद्यतन किया गया। @Renaud Pacalet – spectre007

+0

को इंगित करने के लिए धन्यवाद जो काम करता है! धन्यवाद –

1

मैं उपयोग the alias dr

alias dr='docker run -it --rm' 

है कि आप देता है:

dr myimage 
ls 
... 
exit 

कोई और अधिक कंटेनर चल रहा है।

2

भले ही उपरोक्त अभी भी काम करता है, आदेश नीचे डोकर की नई वाक्य रचना के उपयोग

docker container run -it --rm centos bash 
संबंधित मुद्दे