কনটেইনারগুলিতে অতিথি ওএস না থাকলে আমরা কেন ডকার সহ একটি ওএস বেস চিত্র ব্যবহার করব?


83

আমি সবেমাত্র ডকার নিয়ে পড়াশোনা শুরু করেছি এবং এমন কিছু আছে যা আমার জন্য বেশ বিভ্রান্তিকর হচ্ছে। আমি যেমন ডকারের ওয়েবসাইটে পড়েছি একটি ধারক ভার্চুয়াল মেশিনের থেকে আলাদা। আমি যেমন বুঝতে পেরেছিলাম একটি ধারকটি কেবল একটি স্যান্ডবক্স যার মধ্যে একটি সম্পূর্ণ বিচ্ছিন্ন ফাইল সিস্টেম চালিত হয়।

আমি এটিও পড়েছি যে কোনও পাত্রে গেস্ট ওএস ইনস্টল করা নেই। পরিবর্তে এটি অন্তর্নিহিত ওএস কার্নেলের উপর নির্ভর করে।

সব ঠিক আছে। আমি যা বিভ্রান্ত হয়েছি তা হ'ল অপারেটিং সিস্টেমের নাম অনুসারে এখানে ডকার চিত্র রয়েছে। আমরা উবুন্টু, ডেবিয়ান, ফেডোরা, সেন্টোস ইত্যাদির মতো চিত্র দেখতে পাই।

আমার বক্তব্য: সত্যিই এই চিত্রগুলি কি? ভার্চুয়াল মেশিন তৈরি এবং ডেবিয়ান ইনস্টল করার চেয়ে ডেবিয়ান চিত্রের ভিত্তিতে একটি ধারক তৈরি করা কীভাবে আলাদা?

আমি ভেবেছিলাম পাত্রে কোনও গেস্ট ওএস ইনস্টল করা নেই, তবে আমরা যখন ছবিগুলি তৈরি করি তখন আমরা সেগুলি একটি ওএসের নামে কিছু চিত্রের উপর ভিত্তি করে করি।

এছাড়াও, উদাহরণগুলির মধ্যে আমি যখন দেখলাম, দেখে docker run ubuntu echo "hello world"মনে হচ্ছে আমরা উবুন্টুর সাথে একটি ভিএম তৈরি করছি এবং এটি কমান্ডটি চালাচ্ছি echo "hello world"

আমরা যখন একইভাবে করি তখন docker run -it ubuntu /bin/bashমনে হয় আমরা উবুন্টুর সাথে একটি ভিএম স্পিনিং করছি এবং কমান্ড লাইনটি ব্যবহার করে এটি অ্যাক্সেস করছি।

যাইহোক, এই চিত্রগুলি অপারেটিং সিস্টেমগুলির নাম অনুসারে কী আছে? এই চিত্রগুলির মধ্যে একটির সাথে একটি ধারক চালানো এবং সংশ্লিষ্ট অতিথি ওএসের সাথে কোনও ভিএম কাটানো কত আলাদা?

এই ধারণাটি কি আমরা কেবল হোস্ট ওএসের সাথে কার্নেলটি ভাগ করি (এবং ফলস্বরূপ আমাদের হার্ডওয়্যার ভার্চুয়ালাইজ করার প্রয়োজন ছাড়াই অন্তর্নিহিত মেশিন হার্ডওয়্যার রিসোর্সে অ্যাক্সেস পেয়েছি), তবে এখনও পাত্রে প্রতিটি পৃথক সিস্টেমের ফাইল এবং বাইনারিগুলি যথাযথভাবে ব্যবহার করি আমরা যে অ্যাপ্লিকেশন চালাতে চাই তা সমর্থন করার জন্য?


2
আমার মতে, ভার্চুয়ালাইজেশনে আপনার উদ্দেশ্যগুলি কী। আপনার যদি ওএসে লাইব্রেরি, ভাষা ইত্যাদির প্রয়োজন হয়, সুতরাং আপনার প্রয়োজনীয়তার সাথে ওএস পাত্রে উপযুক্ত। তবে যদি আপনার প্রয়োজনটি কেবল উপাদান হিসাবে অ্যাপ্লিকেশন হয় তবে আপনার বেস চিত্র হিসাবে ওএস ব্যবহার করার প্রয়োজন নেই। আমি মনে করি এই নিবন্ধটি পরিষ্কারভাবে তা ব্যাখ্যা করতে পারে blog.risingstack.com/...
metamorph

উত্তর:


68

যেহেতু সমস্ত লিনাক্স ডিস্ট্রিবিউশনগুলি একই (হ্যাঁ, এটি কিছুটা সরল) লিনাক্স কার্নেল এবং কেবল ব্যবহারকারল্যান্ড সফ্টওয়্যারেই পৃথক, তাই এটি একটি পৃথক বিতরণ পরিবেশের অনুকরণ করা বেশ সহজ - কেবলমাত্র সেই ব্যবহারকারীল্যান্ড সফ্টওয়্যার ইনস্টল করে এবং এটির অন্য বিতরণ করে বলে। নির্দিষ্ট হওয়ার কারণে উবুন্টু ওএসের মধ্যে সেন্টোস কনটেইনার ইনস্টল করার অর্থ হ'ল আপনি সেন্টোস থেকে ইউজারল্যান্ড পাবেন, এখনও একই কার্নেল চালানোর সময়, অন্য কার্নেলের উদাহরণও নয়।

সুতরাং লাইটওয়েট ভার্চুয়ালাইজেশন হ'ল একই ওএসের মধ্যে বিচ্ছিন্ন বগি থাকার মতো। আউ কনটায়ার রিয়েল ভার্চুয়ালাইজেশনের সাথে হোস্ট ওএসের ভিতরে আরও একটি সম্পূর্ণ ওএস রয়েছে। এজন্য ডকার লিনাক্সের মধ্যে ফ্রিবিএসডি বা উইন্ডোজ চালাতে পারে না।

যদি এটি আরও সহজ হয় তবে আপনি ভাবতে পারেন যে ডকারটি খুব পরিশীলিত এবং উন্নত ক্রুট পরিবেশ।


3
তাই আমি খালি স্ক্র্যাচ ধারকটিতে আমার সংকলিত গোলং কোডটি হোস্ট করতে পারি - কারণ সংকলিত কোডটি কেবল কার্নেলের প্রয়োজন?
ফ্রান্সিস নরটন

সুতরাং অতিথি ওএস কীভাবে হোস্ট ওএসের কার্নেলটি ব্যবহার করতে জানতে পারে (এবং কীভাবে এটি করতে হয়)? আফাইক, ডকার চিত্রের বেসগুলি স্ট্যান্ডার্ড ওএস চিত্র ব্যবহার করে। আপনার উদাহরণস্বরূপ, এটি কোনও পছন্দসই CentOS বিল্ডের মতো নয় যা পিতামাতার কার্নেলটি ব্যবহার করতে জানে? অথবা এটি কোনও ফাইল সিস্টেমের মতোই সহজ (আউফস) ট্রিক যেখানে ডকার অতিথিদের '(সেন্টোস') হোস্টে (বুবুনু) / বুট পড়ার পুনঃনির্দেশ করে? সেক্ষেত্রে অতিথি (সেন্টোস) নিজের / বুটের নিজস্ব অনুলিপি ইনস্টল করবেন তবে এটি কখনই পড়বে না?
জেমস এস

আমি আপনার ব্যাখ্যাটি পছন্দ করি তবে আপনি কীভাবে উইন্ডোজটিতে চলমান লিনাক্স পাত্রে ব্যাখ্যা করবেন? সার্ভার 2016 এবং উইন্ডোজ 10-এ ডকারের ব্যবহার সক্ষম করার জন্য একটি লিনাক্স কার্নেল রয়েছে? এই কারণেই কি এই সংস্করণগুলি প্রয়োজনীয়?
duct_tape_coder

এটি সহজ: এগুলি কেবলমাত্র একটি স্থানীয় লিনাক্স ভিএম এর মধ্যে হাইপার-ভি এর সম্পূর্ণ পরিপূর্ণ ভার্চুয়ালাইজেশন স্ট্যাকের অধীনে চলে: ডক্টস.মাইক্রোসফ্ট.কম / ভার্চুয়ালাইজেশন / উইন্ডোসকন্টেনারস_…
drookie

1

ধারকগুলি একক কার্নেলে চালিত হয়। অন্য কথায় সমস্ত পাত্রে সিঙ্গল কার্নেল থাকে (হোস্ট ওএস)। অন্যদিকে হাইপারভাইজারগুলির একাধিক কর্নাল রয়েছে। প্রতিটি ভার্চুয়াল মেশিন বিভিন্ন কার্নেলে চলে।

এবং "ডকার রান উবুন্টু" ক্রুট পরিবেশ তৈরির মতো।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.