मेरे डॉकर कंटेनर में कौन सा ओएस चल रहा है?


20

अधिकांश समय, इन दोनों में से किसी एक का उपयोग करके, मैं बता सकता हूं कि मेरे डॉकटर कंटेनर में कौन सा ओएस चल रहा है (अल्पाइन, सेंटीमीटर, आदि)

लेकिन इस बार, मैं नहीं बता सकता:

bash-4.2$ uname -a       
Linux 6fe5c6d1451c 2.6.32-504.23.4.el6.x86_64 #1 SMP Tue Jun 9 20:57:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

bash-4.2$ more /etc/issue
\S
Kernel \r on an \m

ओएस का एक पाठ संस्करण प्राप्त करने का कोई भी तरीका यह चल रहा है?

जवाबों:


31

मुझे स्क्रीनफैच का उपयोग करना पसंद है । आप कोशिश कर सकते हैं कि।

यदि आप कोड को देखते हैं तो आप देख सकते हैं कि यह वितरण कैसे निर्धारित करता है:

  • lsb_release -sirc
  • cat /etc/os-release

और CentOS भी कवर करने के लिए:

  • cat /etc/issue

1
"/ etc / os-release" वास्तव में एक अच्छा स्रोत है, लेकिन कुछ सेंटो पर मौजूद नहीं है। यदि आपके पास निर्णय लेने के लिए केवल एक शॉट है, तो मैं कहूंगा: "ls / etc / * release"। लेकिन अगर किसी को स्ट्रिंग तरीके की आवश्यकता है, तो आपको सभी मामलों को कवर करने के लिए "बिल्ली / आदि / ओएस-रिलीज़" और "बिल्ली / आदि / मुद्दा" दोनों की आवश्यकता होगी। आप दोनों को धन्यवाद।
बॉब योपलैट

अल्पाइन पर हाँ वे दोनों काम करते हैं cat /etc/issueऔर cat /etc/alpine-release!
जूलियन

7

uname आपको बताएगा कि जो कर्नेल चल रहा है, जो होस्ट OS कर्नेल है (कंटेनर, VM के विपरीत, उसी कर्नेल को साझा करें)।

कंटेनर की आधार छवि की पहचान करने के लिए, कंटेनर के अंदर से कोई गारंटीकृत समाधान नहीं है। आप प्रमुख विक्रेताओं से पॉइंटर्स की तलाश कर सकते हैं, जैसे कि जोंसच ज्यादातर विक्रेताओं के लिए देओनस (/ etc / os-release), या Ubuntu आदि के लिए / etc / lsb-release)। आप पैकेज प्रबंधन टूल की जांच कर सकते हैं यदि वे स्थापित हैं (/ etc / apk, / etc / apt, / etc / yum)।

कंटेनर के बाहर, आप छवि का निरीक्षण कर सकते हैं और परतों को ट्रैक कर सकते हैं यह देखने के लिए कि छवि कहाँ से आती है, लेकिन यह sha256 चेकसमों का पता लगाने में हो जाता है। सबसे अच्छी विधि डॉकरीफाइल की समीक्षा करना है जो कि बिल्ड इमेज का उपयोग किया गया था।


जब मैं इसे नवीनतम उबंटू छवि के साथ खिड़कियों पर चलाता हूं, तो आज के अनुसार, unameबस वापस आ जाता है Linux, और uname -aबस वापस लौटता हैLinux 89e9cd67fc7a 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
डेविड कूलब्रथ

1
लिनक्सकिट एम्बेडेड डॉकर वीएम है, जो विंडोज के लिए डॉकर पर चलने वाले कंटेनरों के साथ होस्ट ओएस है।
बिच

"uname" आपको अंतर्निहित होस्ट के बारे में विवरण देगा, न कि कंटेनर (भले ही आप इसे कंटेनर के अंदर चलाते हों)।
त्रयोदश

@ ट्रॉनडीह का मानना ​​है कि मैंने वही कहा है। क्या उत्तर में कुछ ऐसा है जिसे ठीक करने की आवश्यकता है?
BMitch
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.