2015-10-03 8 views
5

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

+0

[डॉकरफ़ाइल या रजिस्ट्री का संभावित डुप्लिकेट? वितरण के लिए पसंदीदा रणनीति कौन सा है?] (Http://stackoverflow.com/questions/18029045/dockerfile-or-registry-which-is-the-preferred-strategy-for-distribution) –

उत्तर

3

Dockerfile डॉकर छवि पर इच्छित सभी चरणों को निर्दिष्ट करके काम के स्वचालन के लिए उपयोग किया जाता है।

एक Dockerfile पाठ दस्तावेज़ है कि सभी आदेशों एक उपयोगकर्ता एक छवि इकट्ठा करने के लिए कमांड लाइन पर कह सकते हैं शामिल हैं। डॉकर बिल्डिंग उपयोगकर्ता का उपयोग एक स्वचालित निर्माण कर सकता है जो उत्तराधिकार में कई कमांड-लाइन निर्देश निष्पादित करता है।

हाँ, हम डॉकर छवियां बना सकते हैं, लेकिन हर बार जब हम कोई परिवर्तन करना चाहते हैं तो आपको मैन्युअल रूप से बदलना होगा और परीक्षण करना होगा।

या यदि आप डॉकरफाइल के साथ डॉकरफाइल का उपयोग करते हैं तो यह स्वचालित रूप से पुनर्निर्माण करेगा और प्रत्येक संशोधन पर परिवर्तन करेगा और यदि कुछ गलत हो तो पुनर्निर्माण विफल हो जाएगा।

Dockerfile के लाभ

  • Dockerfile है डोकर छवियों की स्वचालित स्क्रिप्ट
  • मैनुअल छवि निर्माण जब आप अलग ओएस स्वाद पर समान सेटअप परीक्षण करने के लिए तो आप सभी के लिए छवि बनाने के लिए करना चाहते हैं जटिल हो जाएगा स्वाद लेकिन डॉकरफाइल में छोटे बदलाव से आप विभिन्न स्वाद के लिए छवियां बना सकते हैं
  • इसमें छवि के लिए सरल वाक्यविन्यास है और कई बदलाव स्वचालित रूप से करते समय अधिक समय लेते हैं।
  • डॉकरफाइल में व्यवस्थित कदम है जिसे आसानी से और आसानी से जानना आसान हो सकता है कि बेस छवि में सटीक कॉन्फ़िगरेशन क्या बदल गया है। dockerhub

    • डोकर हब के साथ Dockerfile की

    लाभ Dockerfile के लिए निजी भंडार प्रदान करते हैं।

  • डॉकरफ़ाइल टीम और संगठन के बीच साझा कर सकता है।
  • स्वत: छवि
  • Webhooks कि अपने खजाने कि एक छवि या बेहतर छवि भंडार को धक्का दे जब आप कोई ईवेंट ट्रिगर करने की अनुमति से जुड़े होते हैं बनाता है
  • हम Github या Bitbucket
पर Dockerfile डाल सकते हैं प्रतिबद्ध छवि और Dockerfile छवि

प्रतिबद्ध छवि के बीच

अंतर: यह एक कंटेनर फ़ाइल परिवर्तन या सेटिंग्स को एक नई छवि में प्रतिबद्ध करें।

Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 
Create a new image from a container's changes 

    -a, --author=  Author (e.g., "John Hannibal Smith <[email protected]>") 
    -c, --change=[]  Apply Dockerfile instruction to the created image 
    --help=false  Print usage 
    -m, --message=  Commit message 
    -p, --pause=true Pause container during commit 

यह डिबग कंटेनर और निर्यात करने के लिए अच्छा विकल्प एक और image.but डोकर में सेटिंग परिवर्तित see here dockerfile उपयोग करने के लिए सुझाव है या हम प्रतिबद्ध डोकर या छवि के बैकअप के संस्करण है कह सकता है।

प्रतिबद्ध संचालन में कंटेनर के अंदर घुड़सवार वॉल्यूम में निहित कोई भी डेटा शामिल नहीं होगा।

डिफ़ॉल्ट रूप से, कंटेनर प्रतिबद्ध किया जा रहा है और इसकी प्रक्रिया छवि के दौरान रुक गई होगी। इससे प्रतिबद्धता बनाने की प्रक्रिया के दौरान डेटा भ्रष्टाचार का सामना करने की संभावना कम हो जाती है। यदि यह व्यवहार अवांछित है, तो 'पी' विकल्प को गलत पर सेट करें।

Dockerfile आधारित छवि:

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

देखने की मेरी बात हम dockerfile कि सभी कदम है कि हम छवि पर चाहते हैं, लेकिन राशि का उपयोग करना पड़ अगर हम छवि के लिए प्रतिबद्ध से तो हम सभी परिवर्तन हमारे द्वारा किए कि जरूरत हो सकती है हम नई छवि बनाना चाहते हैं दस्तावेज़ के लिए है बनाने और हम कह सकते हैं कि डॉकरफाइल छवि का एक दस्तावेज है।

+0

** प्रश्न **: यदि मैं अपनी छवि का एक नया संस्करण डॉकर हब पर दबाता हूं, तो क्या आपको उन परिवर्तनों को दर्शाने के लिए 'डॉकरफ़ाइल' को फिर से लिखना चाहिए? मेरी चिंता यह है कि अगर कोई मेरे गितूब रेपो से 'डॉकरफाइल' खींचता है, तो हो सकता है कि उन्हें छवि का सबसे अद्यतित संस्करण नहीं मिल रहा हो। – chipoglesby

2

लाभ यह है कि, यदि आपके पास एक साझा छवि रजिस्ट्री नहीं है जिसमें आप अपनी छवियों को धक्का दे सकते हैं, तब भी आप "रेसिपी" (Dockerfile used by docker build) के साथ छवियों का आदान-प्रदान कर सकते हैं, जो केवल कुछ केबी है पाठ, और बहुत आसानी से पारित किया जा सकता है (हल्का और छोटा)।

यह घोषणात्मक प्रारूप यह सुनिश्चित करता है कि आप एक समान छवि को फिर से बनाने में सक्षम होंगे, और पुनरुत्पादित परिणाम की अनुमति देगा।

+1

वॉनसी में जोड़ना: होने के बाद डॉकरफ़ाइल आपको जो कुछ मिलता है उसे सत्यापित करने की अनुमति देता है (कुछ विस्तार करने के लिए)। आपको डॉकर हब पर मौजूद हर छवियों पर भरोसा नहीं करना चाहिए। – christian

0

डोकर प्रतिबद्ध

डोकर नया चित्र बनाने के लिए आदेश दृष्टिकोण प्रतिबद्ध का उपयोग करते हुए त्रुटि प्रवण, याद करने के लिए और छोटे परिवर्तन के लिए अद्यतन छवि और हर बार के लिए प्रतिबद्ध एक जरूरत है।

Dockerfile

  • Dockerfile निर्देशों जो निर्माण के दौरान निष्पादित हो जाता है के सेट साथ सभी चरणों (उल्लेख डोकर निर्माण आदेश) अंतिम छवि बनाने के लिए के साथ छवि के लिए प्रतिबद्ध को स्वचालित करने की क्षमता प्रदान करता है।

  • डॉकरफ़ाइल कहीं भी उपयोग किया जाता है, सब कुछ कॉन्फ़िगर किया गया है और दृष्टिकोण चलाने के लिए तैयार है।

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

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