কম্পিউটার

ডকার এবং ডেটা ভলিউম - টিউটোরিয়াল

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

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

মৌলিক বিষয়গুলি

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

docker run -it -v /root/testing:/dedoimedo centos:latest /bin/bash

আমরা Bash শেল সহ একটি নতুন কন্টেইনার চালাচ্ছি, এবং আমরা হোস্টের /root/testing ডিরেক্টরিকে /dedoimedo-এর অধীনে কন্টেইনারের ভিতরে মাউন্ট করতে যাচ্ছি। হোস্টে, উত্সটি NFS মাউন্ট সহ যেকোনও হতে পারে, যা কার্যকরভাবে এটিকে একটি সুন্দর রিমোট ডেটা শেয়ারিং জিনিসে পরিণত করে। বাস্তবে, NFS পুনরায় রপ্তানিকে বাধা দেয়, কিন্তু এটি আসলেই প্রতারণা, কারণ আপনি এখনও একই হোস্টে একই জিনিস করছেন, সাজানোর মতো।

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

ls
ls:ডিরেক্টরি খুলতে পারে না।:অনুমতি অস্বীকার করা হয়েছে

নিরাপত্তা বৈশিষ্ট্য. হ্যাঁ, অবশ্যই, SELinux। ভাগ্যক্রমে, সমস্যাটি ঠিক করা যেতে পারে। আপনি মডিউলের জন্য প্রয়োগ নীতি পরিবর্তন করতে পারেন, অথবা আপনি একটি নতুন নিয়ম যোগ করতে পারেন যা কন্টেইনারগুলিকে মাউন্ট করা ভলিউমে অ্যাক্সেসের অনুমতি দেবে।

setenforce 0

আর নিয়ম, আপনি যদি সেই পথে যেতে চান:

chcon -Rt svirt_sandbox_file_t /

তারপর আপনি বিষয়বস্তু দেখতে পাবেন, এবং আপনি প্লে করা, ফাইল লেখা ইত্যাদি শুরু করতে পারেন। প্রকৃতপক্ষে, আমরা যদি প্রথমে হোস্টের দিকে তাকাই, মাউন্ট করা ডিরেক্টরির ভিতরে একটি নতুন ফাইল তৈরি করুন, আমরা নীচের মত কিছু দেখতে পাব, এর প্রকৃত বিষয়বস্তু বাদ দিয়ে কোর্স:

পাত্রের মধ্যে ভাগ করা

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

এর একটি দ্রুত উদাহরণ করা যাক. আমরা ডেটা-সোর্স নামে একটি ধারক শুরু করব। এটি /ডেটা মাউন্ট পয়েন্ট দিয়ে শুরু হবে। ঐচ্ছিকভাবে, আমরা নিশ্চিত করতে পারি যে /data হোস্টের একটি ডিরেক্টরিতে ম্যাপ করা হয়েছে, কিন্তু এখন এটি ঠিক আছে। তারপর, আমরা একটি দ্বিতীয় ধারক তৈরি করব, যা কন্টেইনার নামের ডেটা-সোর্স থেকে একটি ভলিউম ব্যবহার করবে।

ডকার রান -ti --নাম ডেটা-সোর্স -v /ডেটা সেন্টোস:সর্বশেষ /বিন/ব্যাশ
ডকার রান -ti --volumes-from data-source centos:latest /bin/bash

এখন, যদি আমরা আমাদের দুটি কন্টেইনারের দিকে তাকাই, উভয়েরই /ডেটা ডিরেক্টরি থাকবে, ডাটা-সোর্স ব্যতীত সমস্ত কন্টেইনারের ডেটার জন্য তথাকথিত এন্ট্রি পয়েন্ট হবে যা -volumes-from বিকল্পের সাথে চালানো হয়েছে। আপনি প্রচুর ডেটা স্থান সংরক্ষণ করতে পারেন, আপনার কন্টেনারগুলি কীভাবে ব্যবহার করে এবং আসল ডেটা অ্যাক্সেস করে তা নিয়ন্ত্রণ করতে পারেন এবং আপনি একাধিক সফ্টওয়্যার কনফিগারেশন পরীক্ষা করতে পারেন। খুব ঝরঝরে, সামগ্রিক.

[root@68d3ed5e243a ডেটা # pwd
/ডেটা
[root@68d3ed5e243a ডেটা # টাচ স্টাফ
[root@68d3ed5e243a ডেটা]# 

এবং দ্বিতীয় ধারক:

[root@7aed935cc156 /]# ls -la /data
মোট 4
drwxr-xr-x. 2 root root   18 মে  1 11:46
drwxr-xr-x. 18 root root 4096 মে 1 11:45 ..
-আরডব্লিউ-আর--আর--। 1 root root    0 মে  1 11:46 স্টাফ
[root@7aed935cc156 /]#

এরপর কি?

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

উপসংহার

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

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

চিয়ার্স।


  1. Firefox, AppArmor এবং স্ব-আপডেট - টিউটোরিয়াল

  2. ভার্চুয়ালবক্স এবং NAT নেটওয়ার্ক কনফিগারেশন টিউটোরিয়াল

  3. কিভাবে KVM-তে স্টোরেজ পরিচালনা করবেন - টিউটোরিয়াল

  4. ভার্চুয়ালবক্সে কীভাবে ডিস্ক ক্লোন করবেন - টিউটোরিয়াল