2015-06-10 13 views
5

मैं डॉकर का उपयोग कर नया हूं, और मुझे अपने स्टैक के लिए एक छवि बेस का उपयोग करने का संदेह मिला है या मुझे अपनी जरूरतों के आधार पर प्रत्येक छवि को परिभाषित करना है।
उदाहरण के लिए, डोकर का उपयोग कर लेखक निम्न ढेर पता चलता है एक वेबसाइट बनाने के बारे में एक ब्लॉग को पढ़ने: enter image description hereडॉकर: स्टैक, एकाधिक छवियां या एक आधार छवि कैसे बनाएं?

छवि http://project-webdev.blogspot.de/2015/05/create-site-based-on-docker-part4-docker-container-architecture.html
से लिया अब, संरचना देखा, हम प्रौद्योगिकियों के लिए डोकर रजिस्ट्री में आधार छवियों है, तो mongoDB, io.JS, nginx के रूप में, इस उदाहरण पर हम उन छवियों का उपयोग नहीं करते हैं जो सब कुछ के लिए एक एकल डॉकर बेस छवि का उपयोग करने के लिए प्रेरित हैं?

उत्तर

1

मुझे लगता है कि यह एप्लिकेशन पर निर्भर करता है लेकिन इस मामले में आप सही हैं कि यह बड़ी आधार छवि रखने का अर्थ नहीं है।

मेरी समझ से, लेखक ने मूल छवि बनाई और फिर उस मूल छवि से कई अन्य छवियां बनाईं। जब आप डॉकर के लिए एक छवि बनाते हैं, तो बहुत सी मध्यस्थ छवियां बनाई जाती हैं ताकि आधार छवि समान हो, तो इसे साझा किया जा सकता है और संभावित रूप से आपकी मशीन पर कुछ स्मृति सहेज सकता है।

लेकिन मुझे नहीं लगता कि यह कंटेनरों को चलाने के दौरान कोई फर्क पड़ता है। प्रत्येक कंटेनर स्वतंत्र है और वे अनिवार्य रूप से केवल लिनक्स कर्नेल साझा करते हैं। और यह वास्तव में वास्तव में बुरा है क्योंकि बेस इमेज इस मामले में बड़ी है और इस तरह की छवि से एक कंटेनर को बढ़ाने के लिए बहुत सारे संसाधन लेते हैं। प्रत्येक सेवा के लिए समर्पित छवियां बहुत छोटी होती हैं और जब आप उनमें से कंटेनर शुरू करते हैं तो बहुत कम संसाधन लेते हैं। तो हाँ, एक बड़ी आधार छवि बनाने से आप जो भी स्मृति बचा सकते हैं वह इसके लायक नहीं होगा।

5

मैं इस ब्लॉग पोस्ट/श्रृंखला का लेखक हूं, इसलिए मुझे एक आधार छवि चुनने के कारण बताएं। :)

डॉकर बाद की छवियों के लिए एक सामान्य आधार छवि का उपयोग करने की संभावना प्रदान करता है, ताकि आप सभी छवियों को ढेर कर सकें और प्रत्येक छवि में केवल अंतर्निहित छवि (यह डॉकर का बड़ा लाभ है) में भिन्नता हो। आप डिस्क स्थान और रैम को बचा सकते हैं। अगर आपको इसकी परवाह नहीं है (मेरा मतलब है कि राम और भंडारण सस्ते हैं) तो आप कई छवियों का भी उपयोग कर सकते हैं।

एक आधार छवि का एक अन्य लाभ यह है कि आप अपनी आवश्यकताओं के आधार पर उस आधार छवि को कॉन्फ़िगर/सुरक्षित कर सकते हैं। यदि आप प्रत्येक कंटेनर के लिए एक अलग बेस छवि का उपयोग करते हैं, तो आपको उन सभी को बनाए रखना होगा (उदा। फ़ायरवॉल) और डॉकर कई अलग-अलग छवियों को डाउनलोड करेगा (अधिक डिस्क स्थान का उपयोग करता है, कंटेनर बिल्ड अधिक समय लेता है))।

लेकिन जब आप आधिकारिक छवियों को देखते हैं तो क्या अंतर होता है? आधिकारिक mongodb, redis और MySQL छवियों डेबियन पर आधारित हैं: wheezy छवि। तो यदि आप इन छवियों का उपयोग करते हैं, तो वे एक ही आधार छवि पर आधारित होंगे, है ना?

वैसे भी, यदि आप अपने स्वयं के वास्तुकला का उपयोग करना चाहते हैं, तो नि: शुल्क महसूस करें ... कृपया इस आर्किटेक्चर/ब्लॉग पोस्ट को डॉकर सेटअप बनाने के संभावित विचार के रूप में देखें। डॉकर के लिए धन्यवाद और वे जिस तरह से कर्नेल साझा करते हैं, आप अपनी इच्छित छवियों का उपयोग कर सकते हैं। :)

सादर,

साशा

+0

जवाब देने के लिए हाय @Sascha धन्यवाद। अब मैं एक ही छवि के आधार पर आपके निर्णय को बेहतर समझ सकता हूं। मैं जिस परियोजना पर काम कर रहा हूं उसमें मेरे कुछ संदेहों के बारे में बात करने के लिए मैं आपसे कैसे पहुंच सकता हूं? – eduartua

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