سکيا Docker، حصو 6: ڊيٽا سان ڪم ڪرڻ

Docker جي باري ۾ مواد جي هڪ سيريز جي ترجمي جي اڄ جي حصي ۾، اسان ڊيٽا سان ڪم ڪرڻ جي باري ۾ ڳالهائي ويندي. خاص طور تي، Docker حجم بابت. انهن مواد ۾، اسان مسلسل ڊاکر پروگرامنگ ميڪانيزم کي مختلف خوردني قياس سان مقابلو ڪيو. اسان هتي هن روايت کان انحراف نه ڪنداسين. Docker ۾ ڊيٽا کي مصالحو ڪرڻ ڏيو. دنيا ۾ ڪيترائي مصالحا آھن، ۽ Docker وٽ ڊيٽا سان ڪم ڪرڻ جا ڪيترائي طريقا آھن.

حصو 1: بنيادي
حصو 2: اصطلاح ۽ مفهوم
حصو 3: Dockerfiles
حصو 4: تصويرن جي سائيز کي گهٽائڻ ۽ انهن جي اسيمبلي کي تيز ڪرڻ
حصو 5: حڪم
حصو 6: ڊيٽا سان ڪم ڪرڻ

سکيا Docker، حصو 6: ڊيٽا سان ڪم ڪرڻ

مهرباني ڪري نوٽ ڪريو ته هي مواد Docker انجڻ ورجن 18.09.1 ​​۽ API ورزن استعمال ڪندي تيار ڪيو ويو 1.39.

Docker ۾ ڊيٽا يا ته عارضي يا مستقل طور تي محفوظ ڪري سگهجي ٿو. اچو ته عارضي ڊيٽا سان شروع ڪريون.

عارضي ڊيٽا اسٽوريج

Docker ڪنٽينرز ۾ عارضي ڊيٽا کي منظم ڪرڻ جا ٻه طريقا آهن.

ڊفالٽ طور، هڪ ڪنٽينر ۾ هلندڙ ايپليڪيشن پاران ٺاهيل فائلون لکڻ جي قابل ڪنٽينر پرت ۾ محفوظ ڪيون وينديون آهن. ھن ميکانيزم کي ڪم ڪرڻ لاء، ڪجھ خاص ترتيب ڏيڻ جي ضرورت نه آھي. اهو سستو ۽ خوشگوار ٿي سگهي ٿو. ايپليڪيشن کي صرف ڊيٽا کي بچائڻ جي ضرورت آهي ۽ پنهنجي ڪم کي جاري رکڻ جي ضرورت آهي. بهرحال، ڪنٽينر ختم ٿيڻ کان پوء، اهڙي سادي طريقي سان محفوظ ڪيل ڊيٽا پڻ غائب ٿي ويندي.

Docker ۾ عارضي فائل اسٽوريج هڪ ٻيو حل آهي جيڪو ڪيسن لاء مناسب آهي جتي ڪارڪردگي جي اعلي سطح جي ضرورت آهي ان جي مقابلي ۾ جيڪو حاصل ڪري سگهجي ٿو معياري عارضي ڊيٽا اسٽوريج ميڪانيزم استعمال ڪندي. جيڪڏهن توهان کي ضرورت نه آهي ته توهان جي ڊيٽا کي ذخيرو ٿيڻ کان وڌيڪ وقت تائين ڪنٽينر موجود آهي، توهان ڪنٽينر سان ڳنڍي سگهو ٿا tmpfs - هڪ عارضي معلومات اسٽور جيڪو ميزبان جي رام کي استعمال ڪري ٿو. هي ڊيٽا لکڻ ۽ پڙهڻ جي عملن جي عمل کي تيز ڪندو.

اهو اڪثر ٿئي ٿو ته ڊيٽا کي ذخيرو ڪرڻ جي ضرورت آهي جيتوڻيڪ ڪنٽينر موجود ٿيڻ کان پوء. هن کي ڪرڻ لاء، اسان کي مسلسل ڊيٽا اسٽوريج ميڪانيزم جي ضرورت آهي.

مسلسل ڊيٽا اسٽوريج

ڪنٽينر جي زندگي کان وڌيڪ ڊيٽا جي زندگي گذارڻ جا ٻه طريقا آهن. ھڪڙو طريقو آھي بائن ماؤنٽ ٽيڪنالاجي استعمال ڪرڻ. هن طريقي سان، توهان نصب ڪري سگهو ٿا، مثال طور، ڪنٽينر تي هڪ حقيقي زندگي فولڊر. Docker کان ٻاهر عمل به اهڙي فولڊر ۾ محفوظ ڪيل ڊيٽا سان ڪم ڪرڻ جي قابل هوندا. ائين ئي آهي ڏسڻ tmpfs مائونٽ ۽ بائنڊ مائونٽ ٽيڪنالاجي.

سکيا Docker، حصو 6: ڊيٽا سان ڪم ڪرڻ
چڙهڻ tmpfs ۽ پابند جبل

بائنڊ مائونٽ ٽيڪنالاجي استعمال ڪرڻ جا نقصان هي آهن ته ان جو استعمال ڊيٽا بيڪ اپ، ڊيٽا لڏپلاڻ، ڊيٽا شيئرنگ ڪيترن ئي ڪنٽينرز ۾ پيچيده ڪري ٿو. مسلسل ڊيٽا اسٽوريج لاءِ ڊڪر جي مقدار کي استعمال ڪرڻ بهتر آهي.

حجم Docker

حجم ھڪڙو فائل سسٽم آھي جيڪو ھوسٽ مشين تي واقع آھي ڪنٽينرز کان ٻاھر. حجم ٺاهي ۽ منظم ڪيا ويا آهن ڊڪر طرفان. هتي Docker حجم جا مکيه خاصيتون آهن:

  • اهي معلومات جي مستقل اسٽوريج جو هڪ ذريعو آهن.
  • اهي آزاد آهن ۽ ڪنٽينرز کان جدا آهن.
  • اهي مختلف ڪنٽينرز جي وچ ۾ حصيداري ڪري سگهجن ٿيون.
  • اهي توهان کي منظم ڪرڻ جي اجازت ڏين ٿا موثر پڙهڻ ۽ ڊيٽا جي لکڻ.
  • حجم ريموٽ ڪلائوڊ فراهم ڪندڙ جي وسيلن تي رکي سگھجي ٿو.
  • اهي encrypted ڪري سگهجي ٿو.
  • انهن جا نالا ڏئي سگهجن ٿا.
  • ڪنٽينر ڊيٽا سان گڏ حجم جي اڳ-آبادي جو بندوبست ڪري سگهي ٿو.
  • اهي امتحان لاء آسان آهن.

جئين توهان ڏسي سگهو ٿا، ڊاکر جي مقدار ۾ عجيب ملڪيت آهن. اچو ته ان کي ڪيئن ٺاھڻ جي باري ۾ ڳالهائي.

حجم ٺاهڻ

حجم Docker يا API درخواستون استعمال ڪندي ٺاهي سگھجن ٿيون.

هتي Dockerfile ۾ هڪ هدايت آهي جيڪا توهان کي اجازت ڏئي ٿي حجم ٺاهي جڏهن ڪنٽينر شروع ڪيو وڃي.

VOLUME /my_volume

جڏهن ساڳي هدايتون استعمال ڪندي، ڊاکر، ڪنٽينر ٺاهڻ کان پوء، هڪ حجم ٺاهيندو جنهن ۾ ڊيٽا شامل آهي جيڪا اڳ ۾ ئي مخصوص هنڌ تي موجود آهي. نوٽ ڪريو ته جيڪڏھن توھان ڊاکرفائل استعمال ڪندي حجم ٺاھيو، اھو توھان کي حجم جي ماؤنٽ پوائنٽ کي بيان ڪرڻ جي ضرورت کان نجات نه ڏيندو.

توهان JSON فارميٽ استعمال ڪندي ڊڪر فائل ۾ حجم پڻ ٺاهي سگهو ٿا.

اضافي طور تي، حجم ٺاهي سگھجن ٿيون ڪمان لائن اوزار استعمال ڪندي جڏهن ڪنٽينر هلائي رهيو آهي.

ڪمانڊ لائن مان حجم سان ڪم ڪرڻ

▍ حجم ٺاھڻ

توھان ھيٺ ڏنل حڪم سان ھڪڙي اسٽينڊل حجم ٺاھي سگھو ٿا:

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

اهو Docker وسيلن کي صاف ڪرڻ لاء ٺهيل آهي. هن حڪم تي عمل ڪرڻ کان پوء، توهان کي حجم ختم ڪرڻ جي قابل هوندو جن جي حيثيت اڳ ۾ غلط هئي.

- ماؤنٽ ۽ - حجم جھنڊو

حجم سان ڪم ڪرڻ لاء، جڏهن توهان حڪم کي سڏيندا آهيو docker، توھان کي اڪثر جھنڊو استعمال ڪرڻ جي ضرورت پوندي. مثال طور، ڪنٽينر ٺاھڻ دوران حجم ٺاھڻ لاءِ، توھان ھي تعمير استعمال ڪري سگھو ٿا:

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

قديم زماني ۾ (2017 تائين)، پرچم مشهور هو --volume. شروعات ۾، هي پرچم (اهو پڻ هڪ مختصر روپ ۾ استعمال ڪري سگهجي ٿو، پوء اهو ڏسڻ ۾ اچي ٿو -v) اسٽينڊل ڪنٽينرز ۽ پرچم لاء استعمال ڪيو ويو --mount - هڪ Docker Swarm ماحول ۾. جڏهن ته، Docker 17.06 جي طور تي، پرچم --mount ڪنهن به صورت ۾ استعمال ڪري سگهجي ٿو.

اهو ياد رکڻ گهرجي ته جڏهن پرچم استعمال ڪندي --mount اضافي ڊيٽا جو مقدار جنهن کي حڪم ۾ بيان ڪيو وڃي ٿو وڌائي ٿو، پر، ڪيترن ئي سببن لاء، اهو بهتر آهي ته هن خاص پرچم کي استعمال ڪرڻ، ۽ نه. --volume. جھنڊو --mount اهو واحد ميکانيزم آهي جيڪو توهان کي خدمتن سان ڪم ڪرڻ يا حجم ڊرائيور اختيارن کي بيان ڪرڻ جي اجازت ڏئي ٿو. انهي سان گڏ، هي پرچم ڪم ڪرڻ آسان آهي.

موجوده مثالن ۾ Docker ڊيٽا مينيپوليشن ڪمانڊ، توهان ڏسي سگهو ٿا ڪيترن ئي مثالن جي استعمال جا پرچم -v. جڏهن انهن حڪمن کي پاڻ لاءِ اپنائڻ جي ڪوشش ڪريو، ذهن ۾ رکو ته جھنڊو --mount и --volume مختلف پيٽرولر فارميٽ استعمال ڪريو. اهو آهي، توهان صرف تبديل نه ٿا ڪري سگهو -v تي --mount ۽ ڪم ڪندڙ ٽيم حاصل ڪريو.

وچ ۾ بنيادي فرق --mount и --volume اهو آهي جڏهن پرچم استعمال ڪندي --volume سڀئي پيرا ميٽر گڏ ڪيا ويا آهن هڪ فيلڊ ۾، ۽ جڏهن استعمال ڪندي --mount parameters جدا ٿيل آهن.

جڏهن ڪم سان --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 حجم سان:

  • 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 جي باري ۾ تمام سٺو مضمون. هتي Docker بابت هڪ ڪتاب (جڏهن هي ڪتاب خريد ڪري، ان جو تازو ايڊيشن حاصل ڪرڻ جي ڪوشش ڪريو). هتي ٻيو ڪتاب انهن لاءِ جيڪي سمجهن ٿا ته مشق ٽيڪنالاجي سکڻ جو بهترين طريقو آهي.

پيارا پڙهندڙن! شروعات ڪندڙن کي سکڻ لاءِ توهان ڪهڙو ڊاکر مواد تجويز ڪندا؟

سکيا Docker، حصو 6: ڊيٽا سان ڪم ڪرڻ

جو ذريعو: www.habr.com

تبصرو شامل ڪريو