डॉकर ओएस के रूप में स्वयं की आईएसओ फ़ाइल चलाते हैं


3

हे सब मैं कोशिश कर रहा हूं कि एक आईएसओ फाइल को ओएस के रूप में ओएस के अंदर डूकर के लिए बनाया जाए, क्योंकि मैंने अपना आईएसओ तारकोग के रूप में बनाया है, लेकिन मैं उस फ़ाइल को डॉकटर के अंदर आयात करने के लिए एक उपयुक्त उत्तर खोजने में असमर्थ हूं।

अगर कोई इस संबंध में मेरी मदद कर सकता है तो यह बहुत अच्छा होगा।


लगता है कि आप कुछ करने की कोशिश कर रहे हैं डॉकटर करने के लिए डिज़ाइन नहीं किया गया था। उदाहरण के लिए, वास्तविक आभासी मशीन को डॉकटर कंटेनर से बदलें। आप किस मुद्दे को हल करने का प्रयास कर रहे हैं?
gronostaj

जवाबों:


1

यदि आपको एक आईएसओ फाइल मिली है जो आप एक डॉकटर कंटेनर के अंदर रूट फाइल सिस्टम के रूप में उपयोग करना चाहते हैं, तो डॉकटर सीधे समर्थन नहीं करता है। आपको आईएसओ इमेज को पहले डॉकटर इमेज में बदलने की जरूरत है।

एक संभावित समाधान मेजबान पर लूप डिवाइस का उपयोग करके आईएसओ छवि को माउंट करना है और फिर कॉल करना है docker run एक न्यूनतम कंटेनर का उपयोग करते हुए -v से शीर्ष स्तर के निर्देशिकाओं को आइसो से कोवाटिनर में बांधने के लिए।

अर्थात। कुछ इस तरह:

mkdir /tmp/iso-mount
mount -o loop,ro path-to-image-file.iso /tmp/iso-mount
top_dir_mounts=()
for i in bin etc lib usr var
do
    top_dir_mounts+=(-v "/tmp/iso-mount/$i:/$i")
done
docker run --rm --read-only "${top_dir_mounts[@]}" --tmpfs /tmp --tmpfs /run busybox

यह कंटेनर में आपके ISO फ़ाइल की फ़ाइलों के साथ व्यस्त बॉक्स छवि की सामग्री को ओवरराइड करता है। यह बहुत आसान हो सकता है अगर docker run कंटेनर में रूट को ओवरराइड करने के लिए -v का उपयोग करने की अनुमति दी गई है, इसलिए उपरोक्त सभी -v को बस के साथ बदला जा सकता है -v "/tmp/iso-mount:/", लेकिन डॉकटर ने इसे खारिज कर दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.