আমি সবেমাত্র ডকার নিয়ে পড়াশোনা শুরু করেছি এবং এমন কিছু আছে যা আমার জন্য বেশ বিভ্রান্তিকর হচ্ছে। আমি যেমন ডকারের ওয়েবসাইটে পড়েছি একটি ধারক ভার্চুয়াল মেশিনের থেকে আলাদা। আমি যেমন বুঝতে পেরেছিলাম একটি ধারকটি কেবল একটি স্যান্ডবক্স যার মধ্যে একটি সম্পূর্ণ বিচ্ছিন্ন ফাইল সিস্টেম চালিত হয়।
আমি এটিও পড়েছি যে কোনও পাত্রে গেস্ট ওএস ইনস্টল করা নেই। পরিবর্তে এটি অন্তর্নিহিত ওএস কার্নেলের উপর নির্ভর করে।
সব ঠিক আছে। আমি যা বিভ্রান্ত হয়েছি তা হ'ল অপারেটিং সিস্টেমের নাম অনুসারে এখানে ডকার চিত্র রয়েছে। আমরা উবুন্টু, ডেবিয়ান, ফেডোরা, সেন্টোস ইত্যাদির মতো চিত্র দেখতে পাই।
আমার বক্তব্য: সত্যিই এই চিত্রগুলি কি? ভার্চুয়াল মেশিন তৈরি এবং ডেবিয়ান ইনস্টল করার চেয়ে ডেবিয়ান চিত্রের ভিত্তিতে একটি ধারক তৈরি করা কীভাবে আলাদা?
আমি ভেবেছিলাম পাত্রে কোনও গেস্ট ওএস ইনস্টল করা নেই, তবে আমরা যখন ছবিগুলি তৈরি করি তখন আমরা সেগুলি একটি ওএসের নামে কিছু চিত্রের উপর ভিত্তি করে করি।
এছাড়াও, উদাহরণগুলির মধ্যে আমি যখন দেখলাম, দেখে docker run ubuntu echo "hello world"
মনে হচ্ছে আমরা উবুন্টুর সাথে একটি ভিএম তৈরি করছি এবং এটি কমান্ডটি চালাচ্ছি echo "hello world"
।
আমরা যখন একইভাবে করি তখন docker run -it ubuntu /bin/bash
মনে হয় আমরা উবুন্টুর সাথে একটি ভিএম স্পিনিং করছি এবং কমান্ড লাইনটি ব্যবহার করে এটি অ্যাক্সেস করছি।
যাইহোক, এই চিত্রগুলি অপারেটিং সিস্টেমগুলির নাম অনুসারে কী আছে? এই চিত্রগুলির মধ্যে একটির সাথে একটি ধারক চালানো এবং সংশ্লিষ্ট অতিথি ওএসের সাথে কোনও ভিএম কাটানো কত আলাদা?
এই ধারণাটি কি আমরা কেবল হোস্ট ওএসের সাথে কার্নেলটি ভাগ করি (এবং ফলস্বরূপ আমাদের হার্ডওয়্যার ভার্চুয়ালাইজ করার প্রয়োজন ছাড়াই অন্তর্নিহিত মেশিন হার্ডওয়্যার রিসোর্সে অ্যাক্সেস পেয়েছি), তবে এখনও পাত্রে প্রতিটি পৃথক সিস্টেমের ফাইল এবং বাইনারিগুলি যথাযথভাবে ব্যবহার করি আমরা যে অ্যাপ্লিকেশন চালাতে চাই তা সমর্থন করার জন্য?