ڈوکر سیکھنا، حصہ 6: ڈیٹا کے ساتھ کام کرنا

ڈوکر کے بارے میں مواد کی ایک سیریز کے ترجمے کے آج کے حصے میں، ہم ڈیٹا کے ساتھ کام کرنے کے بارے میں بات کریں گے۔ خاص طور پر، Docker جلدوں کے بارے میں. ان مواد میں، ہم مسلسل مختلف خوردنی تشبیہات کے ساتھ ڈوکر سافٹ ویئر انجنوں کا موازنہ کرتے ہیں۔ آئیے یہاں بھی اس روایت سے انحراف نہ کریں۔ ڈوکر میں ڈیٹا کو مسالا ہونے دیں۔ دنیا میں بہت سے قسم کے مصالحے ہیں، اور Docker میں ڈیٹا کے ساتھ کام کرنے کے بہت سے طریقے ہیں۔

حصہ 1: بنیادی باتیں
حصہ 2: شرائط اور تصورات
حصہ 3: ڈاکر فائلز
حصہ 4: تصویر کے سائز کو کم کرنا اور ان کی تعمیر کو تیز کرنا
حصہ 5: احکامات
حصہ 6: ڈیٹا کے ساتھ کام کرنا

ڈوکر سیکھنا، حصہ 6: ڈیٹا کے ساتھ کام کرنا

براہ کرم نوٹ کریں کہ یہ مواد ڈوکر انجن ورژن 18.09.1 ​​اور API ورژن کا استعمال کرتے ہوئے تیار کیا گیا تھا۔ 1.39.

ڈوکر میں ڈیٹا کو عارضی یا مستقل طور پر محفوظ کیا جا سکتا ہے۔ آئیے وقت کے اعداد و شمار کے ساتھ شروع کریں۔

عارضی ڈیٹا اسٹوریج

ڈوکر کنٹینرز میں، آپ عارضی ڈیٹا کے ساتھ کام کو دو طریقوں سے ترتیب دے سکتے ہیں۔

پہلے سے طے شدہ طور پر، کنٹینر میں چلنے والی ایپلیکیشن کے ذریعے بنائی گئی فائلیں کنٹینر کی قابل تحریر پرت میں محفوظ کی جاتی ہیں۔ اس میکانزم کے کام کرنے کے لیے، کچھ خاص ترتیب دینے کی ضرورت نہیں ہے۔ یہ سستا اور خوشگوار نکلتا ہے۔ ایپلیکیشن کو صرف ڈیٹا کو محفوظ کرنے اور اپنا کام جاری رکھنے کی ضرورت ہے۔ تاہم کنٹینر کے ختم ہونے کے بعد اس آسان طریقے سے محفوظ کیا گیا ڈیٹا بھی غائب ہو جائے گا۔

ڈوکر میں عارضی فائلوں کو ذخیرہ کرنے کا ایک اور حل ہے، جو ایسے معاملات کے لیے موزوں ہے جہاں آپ کو معیاری عارضی اسٹوریج میکانزم کے ساتھ حاصل کیے جانے والے مقابلے کے مقابلے میں اعلیٰ سطح کی کارکردگی کی ضرورت ہو۔ اگر آپ کو اپنے ڈیٹا کو کنٹینر کے موجود ہونے سے زیادہ دیر تک ذخیرہ کرنے کی ضرورت نہیں ہے، تو آپ tmpfs کو کنٹینر سے جوڑ سکتے ہیں - ایک عارضی معلومات کا ذخیرہ جو میزبان کی RAM استعمال کرتا ہے۔ یہ ڈیٹا لکھنے اور پڑھنے کے کاموں کو تیز کرے گا۔

اکثر ایسا ہوتا ہے کہ کنٹینر کے ختم ہونے کے بعد بھی ڈیٹا کو ذخیرہ کرنے کی ضرورت ہوتی ہے۔ اس مقصد کے لیے ہمیں مستقل ڈیٹا اسٹوریج کے لیے میکانزم کی ضرورت ہوگی۔

مستقل ڈیٹا اسٹوریج

کنٹینر کی زندگی سے زیادہ ڈیٹا لائف ٹائم بنانے کے دو طریقے ہیں۔ ایک طریقہ بائنڈ ماؤنٹ ٹیکنالوجی کا استعمال کرنا ہے۔ اس نقطہ نظر کے ساتھ، آپ مثال کے طور پر، ایک حقیقی زندگی کے فولڈر کو کنٹینر پر چڑھا سکتے ہیں۔ ڈوکر کے باہر واقع عمل ایسے فولڈر میں محفوظ ڈیٹا کے ساتھ بھی کام کر سکیں گے۔ یہ ہے کیسے دیکھو tmpfs ماؤنٹنگ اور بائنڈ ماؤنٹ ٹیکنالوجی۔

ڈوکر سیکھنا، حصہ 6: ڈیٹا کے ساتھ کام کرنا
ماؤنٹ tmpfs اور بائنڈ ماؤنٹ

بائنڈ ماؤنٹ ٹیکنالوجی کے استعمال کے نقصانات یہ ہیں کہ اس کا استعمال ڈیٹا بیک اپ، ڈیٹا کی منتقلی، اور متعدد کنٹینرز کے درمیان ڈیٹا شیئرنگ کو پیچیدہ بناتا ہے۔ مستقل ڈیٹا سٹوریج کے لیے ڈوکر والیوم استعمال کرنا بہت بہتر ہے۔

ڈوکر والیومز

حجم ایک فائل سسٹم ہے جو کنٹینرز کے باہر میزبان مشین پر رہتا ہے۔ ڈوکر جلدوں کو تخلیق اور منظم کرتا ہے۔ ڈوکر والیوم کی اہم خصوصیات یہ ہیں:

  • وہ معلومات کو مستقل طور پر ذخیرہ کرنے کا ذریعہ ہیں۔
  • وہ آزاد ہیں اور کنٹینرز سے الگ ہیں۔
  • وہ مختلف کنٹینرز کے درمیان اشتراک کیا جا سکتا ہے.
  • وہ آپ کو ڈیٹا کے موثر پڑھنے اور لکھنے کو منظم کرنے کی اجازت دیتے ہیں۔
  • ریموٹ کلاؤڈ فراہم کنندہ کے وسائل پر حجم کی میزبانی کی جا سکتی ہے۔
  • ان کو انکرپٹ کیا جا سکتا ہے۔
  • انہیں نام دیا جا سکتا ہے۔
  • کنٹینر حجم کو پہلے سے ڈیٹا کے ساتھ آباد کرنے کا بندوبست کر سکتا ہے۔
  • وہ جانچ کے لیے آسان ہیں۔

جیسا کہ آپ دیکھ سکتے ہیں ، ڈوکر والیوم میں کچھ عمدہ خصوصیات ہیں۔ آئیے ان کو بنانے کے طریقے کے بارے میں بات کرتے ہیں۔

حجم بنانا

حجم کو Docker کا استعمال کرتے ہوئے یا API کی درخواستوں کا استعمال کرتے ہوئے بنایا جا سکتا ہے۔

یہاں ایک Dockerfile ہدایت ہے جو آپ کو کنٹینر شروع ہونے پر حجم بنانے کی اجازت دیتی ہے۔

VOLUME /my_volume

اس طرح کی ہدایات کا استعمال کرتے وقت، ڈوکر، کنٹینر بنانے کے بعد، ڈیٹا پر مشتمل ایک حجم بنائے گا جو پہلے سے مخصوص جگہ پر موجود ہے۔ براہ کرم نوٹ کریں کہ اگر آپ ڈوکر فائل کا استعمال کرتے ہوئے ایک والیوم بناتے ہیں، تو اس سے آپ کو والیوم کے لیے ماؤنٹ پوائنٹ بتانے کی ضرورت سے نجات نہیں ملتی۔

آپ JSON فارمیٹ کا استعمال کرتے ہوئے Dockerfile میں والیوم بھی بنا سکتے ہیں۔

اس کے علاوہ، کنٹینر کے چلنے کے دوران کمانڈ لائن کا استعمال کرتے ہوئے حجم بنائے جا سکتے ہیں۔

کمانڈ لائن سے حجم کے ساتھ کام کرنا

▍ایک والیوم بنانا

آپ درج ذیل کمانڈ کے ساتھ اسٹینڈ اکیلے والیوم بنا سکتے ہیں۔

docker volume create —-name my_volume

▍ جلدوں کے بارے میں معلومات حاصل کریں۔

Docker جلدوں کی فہرست دیکھنے کے لیے، درج ذیل کمانڈ کا استعمال کریں:

docker volume ls

آپ اس طرح ایک مخصوص حجم کو تلاش کر سکتے ہیں:

docker volume inspect my_volume

▍ والیوم کو حذف کرنا

آپ اس طرح والیوم کو حذف کر سکتے ہیں:

docker volume rm my_volume

ان تمام جلدوں کو حذف کرنے کے لیے جو کنٹینرز کے ذریعے استعمال نہیں ہوتے ہیں، آپ درج ذیل کمانڈ استعمال کر سکتے ہیں۔

docker volume prune

جلدوں کو حذف کرنے سے پہلے، Docker آپ سے اس آپریشن کی تصدیق کرنے کو کہے گا۔

اگر حجم کسی کنٹینر کے ساتھ منسلک ہے، تو حجم کو اس وقت تک حذف نہیں کیا جا سکتا جب تک کہ متعلقہ کنٹینر کو حذف نہ کر دیا جائے۔ ایک ہی وقت میں، یہاں تک کہ اگر کنٹینر کو حذف کر دیا جاتا ہے، ڈوکر ہمیشہ یہ نہیں سمجھتا ہے۔ اگر ایسا ہوتا ہے، تو آپ درج ذیل کمانڈ کو استعمال کر سکتے ہیں:

docker system prune

یہ ڈوکر وسائل کو صاف کرنے کے لیے ڈیزائن کیا گیا ہے۔ اس کمانڈ کو چلانے کے بعد، آپ کو ان جلدوں کو حذف کرنے کے قابل ہونا چاہیے جن کی حیثیت پہلے غلط طریقے سے طے کی گئی تھی۔

--mount اور --volume کے جھنڈے

آپ کو حجم کے ساتھ کام کرنے کے لیے، جب کمانڈ کو کال کریں۔ docker، آپ کو اکثر جھنڈوں کا استعمال کرنا پڑے گا۔ مثال کے طور پر، کنٹینر کی تخلیق کے دوران حجم بنانے کے لیے، آپ درج ذیل کنسٹرکٹ کو استعمال کر سکتے ہیں:

docker container run --mount source=my_volume, target=/container/path/for/volume my_image

قدیم زمانے میں (2017 تک)، جھنڈا مقبول تھا۔ --volume. شروع میں یہ جھنڈا (اسے مختصر شکل میں بھی استعمال کیا جا سکتا ہے، پھر ایسا لگتا ہے۔ -v) اسٹینڈ اکیلے کنٹینرز اور جھنڈے کے لیے استعمال کیا جاتا تھا۔ --mount - ڈوکر سوارم ماحول میں۔ تاہم، ڈاکر 17.06 کے مطابق، پرچم --mount کسی بھی صورت میں استعمال کیا جا سکتا ہے.

واضح رہے کہ جھنڈا استعمال کرتے وقت --mount کمانڈ میں بتائے جانے والے اضافی ڈیٹا کی مقدار بڑھ جاتی ہے، لیکن، کئی وجوہات کی بناء پر، اس پرچم کو استعمال کرنا بہتر ہے بجائے اس کے کہ --volume. جھنڈا۔ --mount - یہ واحد طریقہ کار ہے جو آپ کو خدمات کے ساتھ کام کرنے یا حجم ڈرائیور پیرامیٹرز کی وضاحت کرنے کی اجازت دیتا ہے۔ اس کے علاوہ، اس جھنڈے کے ساتھ کام کرنا آسان ہے۔

ڈوکر میں ڈیٹا کے ساتھ کام کرنے کا مقصد کمانڈز کی موجودہ مثالوں میں، آپ کو جھنڈا استعمال کرنے کی بہت سی مثالیں مل سکتی ہیں۔ -v. ان احکامات کو اپنے لیے ڈھالنے کی کوشش کرتے وقت، ذہن میں رکھیں کہ جھنڈے --mount и --volume مختلف پیرامیٹر فارمیٹس استعمال کریں۔ یعنی، آپ آسانی سے بدل نہیں سکتے -v پر --mount اور ایک ورکنگ ٹیم حاصل کریں۔

کے درمیان بنیادی فرق --mount и --volume یہ پرچم کا استعمال کرتے وقت ہے --volume تمام پیرامیٹرز کو ایک فیلڈ میں اکٹھا کیا جاتا ہے، اور جب استعمال کیا جاتا ہے۔ --mount پیرامیٹرز کو الگ کر دیا گیا ہے.

کے ساتھ کام کرتے وقت --mount پیرامیٹرز کو کلیدی قدر کے جوڑے کے طور پر پیش کیا جاتا ہے، یعنی، ایسا لگتا ہے۔ key=value. یہ جوڑے کوما کے ذریعے الگ کیے گئے ہیں۔ یہاں عام طور پر استعمال ہونے والے اختیارات ہیں۔ --mount:

  • type - بڑھتے ہوئے قسم۔ متعلقہ کلید کی قدر ہو سکتی ہے۔ باندھنے, حجم یا tmpfs. ہم یہاں جلدوں کی بات کر رہے ہیں، یعنی ہمیں معنی میں دلچسپی ہے۔ volume.
  • source - ماؤنٹ سورس۔ نامزد جلدوں کے لیے، یہ حجم کا نام ہے۔ بے نام والیوم کے لیے یہ کلید متعین نہیں ہے۔ اسے مختصر کیا جا سکتا ہے۔ src.
  • destination - وہ راستہ جس پر فائل یا فولڈر کنٹینر میں نصب ہے۔ اس کلید کو مختصر کیا جا سکتا ہے۔ dst یا target.
  • readonly - مطلوبہ حجم کو ماؤنٹ کرتا ہے۔ صرف پڑھنے کے لیے. یہ کلید اختیاری ہے اور اس کی کوئی قدر تفویض نہیں ہے۔

یہاں استعمال کی ایک مثال ہے۔ --mount بہت سے پیرامیٹرز کے ساتھ:

docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image

کے نتائج

یہاں کچھ مفید کمانڈز ہیں جو آپ ڈوکر والیوم کے ساتھ کام کرتے وقت استعمال کرسکتے ہیں۔

  • docker volume create
  • docker volume ls
  • docker volume inspect
  • docker volume rm
  • docker volume prune

یہاں کے لیے عام طور پر استعمال ہونے والے پیرامیٹرز کی فہرست ہے۔ --mount، جیسے کمانڈ میں لاگو ہوتا ہے۔ docker run --mount my_options my_image:

  • type=volume
  • source=volume_name
  • destination=/path/in/container
  • readonly

اب جب کہ ہم نے اس ڈوکر سیریز کو سمیٹ لیا ہے، اب وقت آگیا ہے کہ اس بارے میں کچھ الفاظ کہے جائیں کہ ڈوکر سیکھنے والے آگے کہاں جا سکتے ہیں۔ یہاں ڈاکر کے بارے میں بہت اچھا مضمون۔ یہاں Docker کے بارے میں ایک کتاب (یہ کتاب خریدتے وقت، تازہ ترین ایڈیشن حاصل کرنے کی کوشش کریں)۔ یہاں ایک اور کتاب جو ان لوگوں کے لیے موزوں ہے جو مانتے ہیں کہ پریکٹس ٹیکنالوجی سیکھنے کا بہترین طریقہ ہے۔

پیارے قارئین! ابتدائیوں کو سیکھنے کے لیے آپ ڈوکر کے بارے میں کون سے مواد کی تجویز کریں گے؟

ڈوکر سیکھنا، حصہ 6: ڈیٹا کے ساتھ کام کرنا

ماخذ: www.habr.com

نیا تبصرہ شامل کریں