डोकर सीधे इस का समर्थन नहीं करता है, लेकिन आप DockerMake (पूर्ण प्रकटीकरण: मैं इसे लिखा था) का उपयोग कर सकते "विरासत" इस तरह की प्रबंधन करने के लिए। यह छवि के अलग-अलग टुकड़ों को स्थापित करने के लिए एक वाईएएमएल फ़ाइल का उपयोग करता है, फिर उचित डॉकरफ़ाइल उत्पन्न करके बिल्ड को चलाता है।
यहां बताया गया है कि आप इस से थोड़ा अधिक जटिल उदाहरण का निर्माण होगा:
--> genericA --
/ \
debian:jessie --> customBase ---> specificAB
\ /
--> genericB --
आप इस DockerMake.yml
फ़ाइल का प्रयोग करेंगे:
specificAB:
requires:
- genericA
- genericB
genericA:
requires:
- customBase
build_directory: [some local directory]
build: |
#Dockerfile commands go here, such as
ADD installA.sh
RUN ./installA.sh
genericB:
requires:
- customBase
build: |
#Here are some other commands you could run
RUN apt-get install -y genericB
ENV PATH=$PATH:something
customBase:
FROM: debian:jessie
build: |
RUN apt-get update && apt-get install -y buildessentials
docker-make
CLI उपकरण (pip install dockermake
) स्थापित करने के बाद, आप तो निर्माण कर सकते हैं specificAB
छवि
docker-make specificAB
स्रोत
2015-12-08 05:48:18
आपके उत्तर के लिए धन्यवाद। चूंकि मैं डॉकर के लिए बहुत नया हूं (मैंने इसे 3 घंटे पहले स्थापित किया ;-) एक त्वरित अनुवर्ती प्रश्न: मुझे डॉकफाइल की आवश्यकता क्यों है? क्या मैं सिर्फ एक नहीं बना सकता, यह सुनिश्चित नहीं कर सकता कि इसे "डॉकर-टर्म", जावा कंटेनर का स्नैपशॉट (?) में कैसे बुलाया जाता है और उसके बाद मैन्युअल रूप से MySQL (apt-get, आदि के साथ) स्थापित किया जाता है? – Frizz
आप इसे "डॉकर प्रतिबद्ध" के साथ कर सकते हैं। समस्या यह है कि यह दोहराने योग्य नहीं है, इसलिए यदि आप कुछ बदलना चाहते हैं तो आपको फिर से खरोंच से शुरू करना होगा। डॉकफाइल निश्चित रूप से जाने का रास्ता हैं। –