2016-09-23 9 views
13

मैं निम्न आदेश के साथ एक छवि से एक डोकर कंटेनर का शुभारंभ पुनः आरंभ कैसे:एक बंद कर दिया डोकर कंटेनर

$ docker run -d myimage /bin/bash -c "mycommand" 

जब "mycommand" समाप्त हो गया है, कंटेनर बंद कर दिया जाता है (मुझे लगता है कि इसे बंद कर दिया जाता है), लेकिन यह नहीं है , नष्ट कर दिया क्योंकि मैं इसे इस आदेश के साथ देख सकते हैं:

$ docker ps -a 

वहाँ restart किसी भी तरह से एक ही मानकों के साथ इस कंटेनर है और mycommand द्वारा उत्पन्न डेटा रहते हैं?

+0

क्या "वॉल्यूम" या "होस्ट निर्देशिका बढ़ाना" आपको संतुष्ट करता है? उल्लेख किए गए दस्तावेज़ की तरह: https://docs.docker.com/engine/tutorials/dockervolumes/ –

उत्तर

14

हां, जब प्रारंभिक आदेश अपना निष्पादन समाप्त करता है तो कंटेनर बंद हो जाता है।

आप का उपयोग कर एक बंद कर दिया कंटेनर शुरू कर सकते हैं:

docker start container_name

आप अपने आदेश के उत्पादन में तो आप -ai विकल्प जोड़ना चाहिए देखना चाहते हैं:

docker start -ai container_name

पी एस। एक docker restart container_name है लेकिन इसका उपयोग एक चल रहे कंटेनर को पुनरारंभ करने के लिए किया जाता है - मेरा मानना ​​है कि यह आपका मामला नहीं है।

1

पहला, $ docker ps -a सभी कंटेनर (जो चल रहे हैं और बंद किए गए हैं) दिखाते हैं, यही कारण है कि आप अपने बंद कंटेनर को सूचीबद्ध कर रहे हैं।

$ docker exec -it container_name bash -c "mycommand" 

आप अपने कंटेनर में बना सामान:

$ docker start container_name 

एक बार कंटेनर शुरू कर दिया गया है, आप के द्वारा अपने आदेश चला सकते हैं:

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

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