ওএস ডকারের ধারক: তখন কোনও ভিএম এর সাথে তফাত কী?


10

ডকার পাত্রে একটি ওএস ব্যবহার করার কী আছে?

ডকার সংগ্রহস্থলে, আপনি একটি উবুন্টু ডকার চিত্রটি পেয়েছেন: https://registry.hub.docker.com/_/ubuntu/ আমি ভেবেছিলাম যে ডকার "অ্যাপ" পর্যায়ে আরও বেশি।

তবে উবুন্টু ডকার পাত্রে এবং উবুন্টু ভার্চুয়াল মেশিনের মধ্যে পার্থক্য কী? ডকার পাত্রে যদি আপনার পুরো ওএস থাকে তবে ডকার ব্যবহার করা কি অর্থহীন নয়?

ধন্যবাদ

উত্তর:


11

আপনার কাছে বেসিক ডকার ধারণার অভাব রয়েছে। এটি সম্পূর্ণ আলাদা জিনিস।

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

এখন আপনার অবাক হওয়া উচিত যে আপনার হোস্টটি যে লিনাক্স ডিস্ট্রিবিউশনটি চালাচ্ছেন তার থেকে আলাদা লিনাক্স বেস চিত্রের অভ্যন্তরে কোনও প্রক্রিয়া চালানো কীভাবে সম্ভব? কোনও ওএসের চালনার জন্য আপনাকে মূলত:

  • একটি বুট ফাইল সিস্টেম: বুটলোডার এবং কার্নেল ধারণ করে যা একবার লোড হয়ে গেলে স্মৃতিতে থাকবে। ডকারের পাত্রে ক্ষেত্রে আমরা এগুলি নিয়ে চিন্তা করি না কারণ কার্নেলটি হোস্টের সাথে ভাগ করা হয় এবং সমস্ত লিনাক্স বিতরণের মধ্যে সাধারণ অংশ।
  • একটি মূল ফাইল সিস্টেম: ফাইল সিস্টেম কাঠামো ধারণ করে। এটি অন্য একটি লিনাক্স বিতরণ থেকে আলাদা হতে পারে। বুট ক্রম শেষ না হওয়া পর্যন্ত এটি কেবল পঠনযোগ্য।

ডকার একটি ধারকের ভিতরে ডিস্ক ব্লকগুলির স্তরগুলি পরিচালনা করতে ইউনিয়নএফএস ব্যবহার করে যাতে আপনি সেগুলি পাইল করতে পারেন।

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

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

সর্বশেষের অভাবটি হ'ল: কীভাবে আপনি এই জিনিসটি বিচ্ছিন্নভাবে চালাবেন?

উত্তরটি হল: নেমস্পেসেস। আমি এখানে বিশদগুলিতে যাব না কারণ এটি আসল প্রশ্ন থেকে কিছুটা বিচ্যুত হবে। তবে আপনার যা জানা দরকার তা হ'ল কার্নেল ২.৪.১৯ থেকে বিভিন্ন ধরণের নেমস্পেসগুলি বছরের পর বছর উপস্থিত হয়েছে। বর্তমানে নিম্নলিখিত নেমস্পেসগুলি উপলব্ধ:

  • আইপিসি: আইপিসি নেমস্পেস (ইন্টারপ্রেস যোগাযোগ)
  • এমএনটি: মাউন্ট নেমস্পেস
  • নেট: নেটওয়ার্ক নেমস্পেস
  • পিআইডি: পিড নেমস্পেস
  • ব্যবহারকারী: ব্যবহারকারী নেমস্পেস (ইউআইডি)
  • ইউটিএস: ইউটিএস নেমস্পেস (হোস্টনাম)

নেমস্পেসগুলি কার্নেলের অভ্যন্তরে বিচ্ছিন্ন কাঠামো যা নির্দিষ্ট পরিবেশের সাথে প্রক্রিয়াগুলি চালানোর অনুমতি দেয়। উদাহরণস্বরূপ, বেস চিত্রের রুট ফাইল সিস্টেমের বৈশিষ্ট্যগুলিতে চলমান প্রক্রিয়াটি পাওয়ার জন্য এমএনটি নেমস্পেস মূল বৈশিষ্ট্য হবে। নেট ডেস্ক ব্রিজ ইত্যাদির সাথে যোগাযোগ করার জন্য একটি নির্দিষ্ট পাত্রে নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের জন্য নেট নেমস্পেসের আর একটি মূল বৈশিষ্ট্য হবে for

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

এটি আরও খনন করার আগে ডকারের নথিপত্রগুলি পড়া ভাল ধারণা হবে।


ধন্যবাদ, এর অর্থ কি এই যে "উবুন্টু" চিত্রটি এর মতো: রেজিস্ট্রি hub.docker.com/_/ubuntu নিজেই "কোনও বোধগম্যতা" তৈরি করে না এবং "nginx ধারক" এর মতো আরও সংজ্ঞায়িত ধারকটির ভিত্তি হিসাবে পরিবেশন করে? আমি বুঝতে পারছি না কি আমি জানিনা?
মাইকেল

হ্যাঁ তুমি কর. এটি ঠিক এর জন্য ব্যবহৃত হয়। এবং সাধারণত আপনি শুনবেন লোকেরা এ কারণে তাদের বেস চিত্র বলে ।
জাভিয়ের লুকাস

আমি ডকুমেন্টেশনটি পেরিয়েছি এবং একটি জিনিস আছে যা আমি নিশ্চিত নই। ধরা যাক উবুন্টু চিত্রটির আকার 140Mb। তারপরে, এই চিত্রের উপর ভিত্তি করে অন্য চিত্রটি আরও 10 এমবি যুক্ত করে। যদি আমি এই চিত্র থেকে 2 টি ধারক চালনা করি তবে প্রতিটি ধারকটি 150Mb হবে এবং আমার কাছে 300Mb ডিস্ক স্পেস প্রয়োজন বা মোট আকারটি 150Mb অবধি থাকবে? ধন্যবাদ
মাইকেল

বাহ, আমি স্রেফ অফিসিয়াল পাইথন চিত্রটি ডাউনলোড করেছি এবং ভার্চুয়াল আকারটি ৮০২.৪ এমবি। এটি ডাউনলোড করতে কিছুক্ষণ সময় নিয়েছে। যদি আমি এটি থেকে 10 টি পাত্রে চালিত করি তবে পাত্রে কতটা জায়গা লাগবে? ধন্যবাদ
মাইকেল

2
@ ওয়াইমাইক্যাপ নির্ভরতা সঠিকভাবে পরিষ্কার না করায় কিছু চিত্র বড় হতে পারে। আপনি যদি একই চিত্র সহ 10 টি ধারক শুরু করেন তবে এর অর্থ এই নয় যে ব্যবহৃত ডিস্কের স্থানটি চিত্রের আকারের 10 গুণ বেশি হবে। আপনি একবার কোনও চিত্র ডনলোড করেন তবে একাধিক পাত্রে এটি চালান। ডকার একই চিত্র থেকে একাধিক পাত্রে চলাকালীন অনুলিপি ব্যবহার করুন যা মূলত এর অর্থ এটি পাতাগুলির মধ্যে চিত্রটি ভাগ করে নেবে এবং কেবল কোনও ধারক এটি যুক্ত / সংশোধন করে তবেই কোনও চিত্রের অভ্যন্তরে কোনও ফাইলের একটি ব্যক্তিগত অনুলিপি তৈরি করবে। সুতরাং ব্যবহৃত আসল আকারটি কন্টেইনারের অভ্যন্তরের ক্রিয়াকলাপের সাথে লিঙ্কযুক্ত, কত রান নয়।
জাভেয়ের লুকাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.