2015-07-17 18 views
5

के लिए डॉकर रन कमांड प्राप्त करें मेरे पास एक कंटेनर है जिसे मैंने बनाया है, लेकिन मुझे सटीक docker run कमांड याद नहीं है जिसे मैं इसे लात मारता था। क्या कोई तरीका है जिसे पुनर्प्राप्त किया जा सकता है?कंटेनर

यह See full command of running/stopped container in Docker जैसा नहीं है जो मैं जानना चाहता हूं कि पूर्ण डॉकर कमांड है जो कंटेनर को कम करता है, कंटेनर के भीतर कमांड नहीं।

+0

यह हमेशा 'डॉकर रन ' है, है ना? –

+1

मुझे लगता है कि यह असंभव है - डॉकर क्लाइंट रीस्ट एपीआई और डॉकर क्लाइंट कमांड का उपयोग करता है हमेशा एपीआई कॉल से मेल नहीं खाता है - इसलिए सर्वर के मूल आदेश का अनुमान लगाने और इसे स्टोर करने के लिए असंभव है। –

+0

@ थॉमस उरीग पोर्ट मैपिंग्स, लिंक इत्यादि जैसी चीजों के बारे में क्या है –

उत्तर

7

आप docker inspect के आउटपुट को देख कर उस जानकारी का अधिक से अधिक अनुमान लगा सकते हैं।

उदाहरण के लिए, आप Config.Cmd कुंजी देखकर कंटेनर के अंदर शुरू की गई कमांड को खोज सकते हैं। अगर मैं चलाएँ:

$ docker run -v /tmp/data:/data --name sleep -it --rm alpine sleep 600 

मैं बाद में चला सकते हैं:

$ docker inspect --format '{{.Config.Cmd}}' sleep 

और मिलती है:

{[sleep 600]} 

इसी तरह, docker inspect के उत्पादन में भी कंटेनर में इस्तेमाल डोकर मात्रा के बारे में जानकारी शामिल होंगे :

$ docker inspect --format '{{.Volumes}}' sleep 
map[/data:/tmp/data] 

आप निश्चित रूप से docker inspect बिना --format चला सकते हैं, जो आपको जेएसओएन आउटपुट का एक बड़ा (100+ लाइन) हिस्सा देगा जिसमें सभी उपलब्ध कुंजी शामिल हैं, जिसमें पोर्ट मैपिंग, नेटवर्क कॉन्फ़िगरेशन आदि के बारे में जानकारी शामिल है।

+2

के लिए उपरोक्त उदाहरण अल्पाइन लिनक्स का उपयोग कर: डी –