2016-03-03 23 views
6

एक डॉकर छवि बनाने के दौरान, छवि आईडी docker-compose build बनाम docker build का उपयोग करके बनाई गई है, तो छवि आईडी अलग है। Env के पास अलग मेजबाननाम है।डॉकर-कंपोज़ बिल्ड बनाम डॉकर बिल्ड द्वारा उत्पन्न डॉकर छवि में अंतर क्या है?

और क्या अलग है? छवियां अलग क्यों हैं?

+1

मेरा मानना ​​है कि कंटेनर नाम के अलावा कोई अन्य अंतर नहीं है, जो 'डॉकर-कंपोज़' स्वचालित रूप से उत्पन्न होता है, लेकिन जब आप 'डॉकर-बिल्ड' का उपयोग करते हैं तो आप निर्दिष्ट कर सकते हैं। –

+1

यह अभी भी एक खुला मुद्दा है: https://github.com/docker/compose/issues/883 –

उत्तर

2

छवि की सामग्री के संदर्भ में docker-compose build और "मैनुअल" docker build के बीच वास्तविक छवि के बीच कोई अंतर नहीं है।

अंतर केवल निर्माण परिणाम के नामकरण/टैगिंग में है, जो docker-compose स्वचालित रूप से आपके लिए करता है। इसके अलावा docker-compose बिल्ड दृश्यों के पीछे अलग नहीं है और सामान्य docker build के लिए बस एक रैपर है।

+0

लेकिन मुझे जेनरेट छवियों के बीच एक अंतर दिखाई देता है। मेरे डॉकरफाइल के हिस्से के रूप में मैं सभी निर्भरताओं को डाउनलोड करने के लिए "एनपीएम इंस्टॉल" करता हूं। "डॉकर बिल्ड" का उपयोग करके बनाई गई छवि ने सभी "npm_modules" डाउनलोड किए हैं, जबकि "डॉकर-कंपोज़ अप" का उपयोग करके उत्पन्न एक खाली "npm_modules" फ़ोल्डर है। – SudheerKovalam

+0

उनके काम के तरीके में कुछ अलग होना चाहिए। मेरे प्रोजेक्ट में 'डॉकर बिल्ड।' काम करता है, लेकिन 'डॉकर-कंपोज बिल्ड' कुछ त्रुटि देता है। मुद्दा यह है कि अगर कोई काम करता है, तो दूसरी जरूरत काम नहीं करती है। – GiriB

+0

@GiriB त्रुटि जानने के लिए अच्छा होगा :) सभी संभावनाओं में उस मामले में आपके साथ 'docker-compose.yml' में कुछ गड़बड़ है। –

1

नामकरण अंतर के अलावा, परिणामस्वरूप छवि में अंतर हो सकता है यदि बिल्ड के पैरामीटर अलग हैं: बिल्ड: डॉकर-compose.yml का अनुभाग और डॉकर बिल्ड कमांड के कमांड लाइन पैरामीटर। उदाहरण के लिए - बिल्ड-एर्ग अलग हो सकते हैं।

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