2016-01-18 8 views
19

मैंने डॉकर प्रलेखन पर पढ़ा कि कैसे ऑनबल्ड निर्देश का उपयोग किया जा सकता है, लेकिन यह बिल्कुल स्पष्ट नहीं है।
क्या कोई इसे मुझे समझा सकता है?डॉकरफाइल ऑनबल्ड निर्देश

+0

कौन का हिस्सा देता है [प्रलेखन] (https://docs.docker.com/engine/reference/builder/#onbuild) आप समझ में नहीं आता? 'यह उपयोगी है यदि आप एक छवि बना रहे हैं जिसका उपयोग अन्य छवियों के निर्माण के लिए आधार के रूप में किया जाएगा' –

+0

लेकिन मैं इसके साथ क्या कर सकता हूं। कृपया मुझे एक उदाहरण दें। –

+1

दस्तावेज़ीकरण भी उदाहरण है। पहले आप आवश्यक ओएस पुस्तकालयों के साथ अपनी कस्टम छवि डॉकरफ़ाइल बना सकते हैं: कर्ल, जीडी, आदि और बाद में स्रोत कोड जोड़ने के लिए ऑनबिल्ड निर्देश जोड़ें। उदाहरण 'ऑनबिल्ड जोड़ें src/' बाद में आप एक और डॉकरफ़ाइल बनाते हैं लेकिन पहले बनाई गई छवि (निर्देश से) का उपयोग करते हैं और उस पर स्रोत कोड ढेर करते हैं। तो आपके पास फ्रीज ओएस स्तर पुस्तकालयों और स्रोत कोड के साथ छवि है। –

उत्तर

28

ONBUILD intruction आपके चुने हुए सॉफ़्टवेयर स्टैक के निर्माण को स्वचालित करने के लिए बहुत उपयोगी है।

उदाहरण

Maven container जावा कार्यक्रमों संकलित करने के लिए बनाया गया है। जादुई ढंग से सभी अपने प्रोजेक्ट की Dockerfile करने की जरूरत संदर्भ आधार ONBUILD intructions युक्त कंटेनर है:

FROM maven:3.3-jdk-8-onbuild 
CMD ["java","-jar","/usr/src/app/target/demo-1.0-SNAPSHOT-jar-with-dependencies.jar"] 

आधार छवि के Dockerfile बताता है सब

FROM maven:3-jdk-8 

RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

ONBUILD ADD . /usr/src/app 

ONBUILD RUN mvn install 

वहाँ एक आधार छवि है कि दोनों जावा और Maven स्थापित किया है और फ़ाइलों की प्रतिलिपि बनाने और मैवेन चलाने के लिए निर्देशों की एक श्रृंखला।

निम्नलिखित जवाब एक जावा उदाहरण

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