ডকার পাত্রে তাদের নিজস্ব কার্নেল আছে নাকি?


65

আমি দেখতে পাচ্ছি যে ডকারের সংগ্রহস্থলগুলিতে প্রচুর ডকার চিত্রগুলি একটি উবুন্টু বেস দিয়ে তৈরি।

ওটার মানে কি? প্রতিটি কন্টেইনার লিনাক্স কার্নেলের একটি স্ট্রিপ ডাউন সংস্করণ বান্ডিল করে?

পাত্রে কি তাদের নিজস্ব কার্নেলের উপরে বসে আছে? তবে আমি ভেবেছিলাম যে পাত্রে হোস্টের কার্নেল ভাগ করা হয়েছে (যা কিছু ক্ষেত্রে বুট 2 ডকার, একটি কাস্টম টিনি কোর লিনাক্স বিল্ড এবং অন্যদের মধ্যে কোরিওএসের মতো)।

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

উত্তর: আহ্ এটা ঠিক আমার উপর ছড়িয়ে পড়েছে। এটি উবুন্টু ব্যবহারকারীর স্থল প্রক্রিয়া, নির্দিষ্ট উবুন্টু বিল্ডের জন্য অ্যাপটি-গেট এবং অন্যান্য কনফিগারেশন প্রক্রিয়া সমন্বিত। একইভাবে CentOS এর জন্য। ডকার একক প্রক্রিয়া নয়, কেবল একক প্রবেশ। সুতরাং এই বিতরণগুলির জন্য এন্ট্রি পয়েন্ট হ'ল এক ধরণের init প্রক্রিয়া যা অন্য প্রক্রিয়াগুলিকে উত্সাহ দেয়।


2
"এটি উবুন্টু ব্যবহারকারী জমি প্রক্রিয়া," - কেবল প্রক্রিয়া নয়, গ্রন্থাগারগুলিও।
osgx

উত্তর:


37

ডকার হোস্ট ওএস কার্নেল ব্যবহার করে, ধারক অভ্যন্তরে কোনও কাস্টম বা অতিরিক্ত কার্নেল নেই। সমস্ত পাত্রে যা কোনও মেশিনে চলছে এটি এই "হোস্ট" কার্নেলটি ভাগ করে নিচ্ছে।

উইকিপিডিয়া http://en.wikedia.org/wiki/Docker_(software) বলে that

ভার্চুয়াল মেশিনগুলির ওভারহেড এড়িয়ে একটি একক লিনাক্সের মধ্যে স্বতন্ত্র "কনটেইনারগুলি" চালানোর জন্য ডকার লিনাক্স কার্নেলের রিসোর্স বিচ্ছিন্ন বৈশিষ্ট্য যেমন সিগ্রুপ এবং কার্নেল নেমস্পেসগুলি ব্যবহার করে।

cgroups, नेमস্পেস এবং LXC লিনাক্স কার্নেলের বৈশিষ্ট্যগুলি প্রক্রিয়াগুলির গ্রুপগুলি বিচ্ছিন্ন করার জন্য; এখনও একক কার্নেল, একক শিডিয়ুলার এবং কার্নেল মেমরি ম্যানেজারের একটি উদাহরণ রয়েছে।

বুট 2 ডকার এবং কোরিসগুলি কয়েকটি হোস্ট কার্নেলের সাথে হালকা লাইটওয়েট লিনাক্স বিতরণ; এগুলি ডকার পাত্রে লোড করতে ব্যবহার করা যেতে পারে।

http://boot2docker.io/

বুট 2 ডকার একটি হালকা লিনাক্স লিনাক্স বিতরণ যা ডোকার পাত্রে চালানোর জন্য বিশেষত তৈরি টিনি কোর লিনাক্সের উপর ভিত্তি করে। এটি পুরোপুরি র‌্যাম থেকে চলে, 27MB ওজনের এবং ots 5 এস (ওয়াইএমএমভি) এ বুট হয়।

http://en.wikipedia.org/wiki/CoreOS

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


1
এটি প্রশ্নের উত্তর দেয় না।
ইএমএল

2
ইএমএল, কোন প্রশ্ন? ডিফল্টরূপে সমস্ত ডকারের পাত্রে কোনও নিজস্ব কার্নেল নেই। সমস্ত ডকার পাত্রে কেবল একটি হোস্ট কার্নেল রয়েছে।
osgx

অবশ্যই, আপনার উত্তর যতদূর যায় ঠিক তেমন ঠিক আছে, তবে FROMহোস্ট ইতোমধ্যে উবুন্টু চালাচ্ছে যখন তাকে উবুন্টু বেস চিত্রটি কেন করতে হবে তা জানতে চেয়েছিলেন । প্রশ্নের উত্তর দিতে আপনাকে একটি বেস ইমেজ কী তা ব্যাখ্যা করতে হবে।
ইএমএল 26'17

2
EML, প্রশ্ন "ব্যাখ্যা" (সঙ্গে সম্পাদিত হয়েছে superuser.com/posts/889472/revisions ) পর আমার উত্তর পোস্ট করা হয়েছিল, তাই এটি শোধন ছাড়া মূল প্রশ্ন উত্তর। যদি আপনার কাছে ডকরে বেস ইমেজ এবং কার্নেলগুলি ভাগ করে নেওয়ার জন্য কিছু তথ্য থাকে তবে অন্য একটি উত্তর যুক্ত করুন।
osgx

17

প্রায় সব ক্ষেত্রেই হোস্ট ওএস কার্নেল ভাগ করে নেওয়া হয়। আলাদা কার্নেল চালানোর জন্য আপনার ভার্চুয়ালাইজেশন ব্যবহার করতে হবে। পারফরম্যান্স অবক্ষয়ের কারণে এটি বিরল এবং কেবল তখনই ব্যবহৃত হয়।

"ডকার ইঞ্জিন কনটেইনারটিতে কেবল অ্যাপ্লিকেশন এবং এর নির্ভরতা রয়েছে It এটি হোস্ট অপারেটিং সিস্টেমের ইউজারস্পেসে বিচ্ছিন্ন প্রক্রিয়া হিসাবে চালিত হয়, অন্যান্য পাত্রে কার্নেল ভাগ করে নেয় Thus সুতরাং, এটি ভিএমগুলির সংস্থান বিচ্ছিন্নতা এবং বরাদ্দ সুবিধা উপভোগ করে তবে আরও অনেক কিছু বহনযোগ্য এবং দক্ষ। "

এটি কীভাবে এটি কাজ করে তা ব্যাখ্যা করতে সহায়তা করতে পারে: এখানে চিত্র বর্ণনা লিখুন

সূত্র: https://www.docker.com/hatisdocker/


4
"প্যাকেজগুলির জন্য কোনও উত্স বিভিন্ন কার্নেল ব্যবহার করতে পারে" ??? ডকার নিজেই বেশ কয়েকটি কার্নেল ব্যবহার করতে পারে না, সর্বদা কেবল একক হোস্ট কার্নেল থাকে। হাইপারভাইজার (ভার্চুয়ালাইজেশন) এর সাথে একত্রিত হয়ে কেবলমাত্র আমরা প্রতিটি নিজস্ব কার্নেল সংস্করণ দিয়ে কয়েকটি হোস্ট শুরু করতে পারি এবং ভার্চুয়াল হোস্টের জন্য একটি ডকার চালাতে পারি; তবে যে কোনও হোস্টের জন্য হোস্ট এবং এর ডকড
ধারকগুলির

2
প্যাকেজ কি? ডকারের ধারকটির ভিতরে কোনও কার্নেল নেই; এটি সবেমাত্র ইনস্টল করা হয়েছে এবং হোস্টের জন্য ব্যবহৃত কার্নেলটিতে শুরু হয়েছে। সুতরাং: একটি ডকার = একটি সার্ভার = একটি কার্নেল, ঠিক যেমন ছবিতে দেখানো হয়েছে। একক ডকার ইঞ্জিন সহ দুটি কার্নেল ব্যবহার করার উপায় নেই; এই ইঞ্জিনের সমস্ত পাত্রে একই কার্নেল ব্যবহার করা হবে। আমি মনে করি সঠিক উত্তর "না, ডকারের পাত্রে ডকার ইঞ্জিনের একক উদাহরণের মধ্যে বিভিন্ন কার্নেল ব্যবহার করা যাবে না"
osgx

1
প্রতিটি ডকার কনটেইনার যা যা কোড চায় তা চালাতে পারে, ভার্চুয়ালাইজেশন সফ্টওয়্যার সহ যা আপনার সফ্টওয়্যারটির প্রয়োজন হতে পারে কোনও কার্নেল লোড করতে সক্ষম including আপনি চাইলে একটি পাত্রে উইন্ডোজ চালাতে পারেন।
যেরেমিয়া

1
জেরেমিয়া বারার, বুঝেছি, ব্যাখ্যার জন্য আপনাকে ধন্যবাদ। ডকারের ধারকটির ভিতরে থেকে ভার্চুয়ালাইজেশন সফ্টওয়্যারটি চলছে কি এটি নথিভুক্ত এবং এটি ডকারের দ্বারা সমর্থিত? ডকার (সফ্টওয়্যার কিমু, কিউমু + কেভিএম, জেন, ...) থেকে কী ধরণের ভার্চুয়ালাইজেশন কাজ করবে?
osgx

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