2016-06-30 4 views
27

मेरे पास 1 जी रैम की मेजबानी में एक डॉकर कंटेनर चल रहा है (उसी मेजबान में चल रहे अन्य कंटेनर भी हैं)। इस डॉकर कंटेनर में एप्लिकेशन कुछ छवियों को डीकोड करेगा, जो स्मृति को बहुत अधिक उपभोग कर सकता है।एक डॉकर कंटेनर क्यों निकलता है इसका कारण कैसे पता चलेगा?

समय-समय पर, यह कंटेनर बाहर निकल जाएगा। मुझे संदेह है कि यह स्मृति से बाहर है लेकिन बहुत यकीन नहीं है। मुझे रूट कारण खोजने के लिए एक विधि चाहिए। तो क्या यह जानने के लिए वैसे भी है कि इस कंटेनर की मौत के लिए क्या हुआ?

+1

आप उस कंटेनर के लिए 'डॉकर लॉग <कंटेनर-आईडी>' के माध्यम से लॉग देख सकते हैं। – techtabu

+0

लेकिन कंटेनर निकला है, मुझे लगता है कि मैं इसे और लॉग नहीं कर सकता? –

+0

बस मेरी मशीन पर कोशिश की। जब भी कंटेनर निकलता है तब भी आप लॉग का उपयोग कर सकते हैं। –

उत्तर

46

अन्य ने आवेदन के आउटपुट को देखने के लिए docker logs $container_id का उल्लेख किया है। यह जांचने के लिए मेरी पहली बात हमेशा होगी।

इसके बाद, आप, राज्य पर विवरण देखने के लिए docker inspect $container_id चला सकते हैं जैसे:

"State": { 
     "Status": "exited", 
     "Running": false, 
     "Paused": false, 
     "Restarting": false, 
     "OOMKilled": false, 
     "Dead": false, 
     "Pid": 0, 
     "ExitCode": 2, 
     "Error": "", 
     "StartedAt": "2016-06-28T21:26:53.477229071Z", 
     "FinishedAt": "2016-06-28T21:26:53.478066987Z" 
    }, 

महत्वपूर्ण लाइन है "OOMKilled" जो सच है अगर आप कंटेनर स्मृति सीमा से अधिक और डोकर अपने को मारता हो जाएगा एप्लिकेशन। आप यह देखने के लिए बाहर निकलने के कोड को भी देखना चाहेंगे कि यह आपके ऐप द्वारा बाहर निकलने का कारण पहचानता है या नहीं।

+1

मुझे समझ में नहीं आता है क्योंकि मेरा कंटेनर चला गया है, कैसे "निरीक्षण" काम करेगा? उपर्युक्त चर्चा से, ऐप मरने के बाद, कंटेनर भी मर जाएगा। आपका मतलब है कि उसी छवि को फिर से शुरू करें, फिर निरीक्षण करें? –

+2

@LiBin एक कंटेनर मरने पर दूर नहीं निकलता है, यह बस स्थिति = रोक या बाहर निकलने की स्थिति में बंद हो जाता है। 'डॉकर पीएस-ए' और अपने लिए देखें –

+0

@ सैमुएलटह धन्यवाद। अब यह स्पष्ट है। –

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