ما هو Docker |کل ما تحتاج إلی معرفته

معرفة تطبيقات Docker في علم البيانات

تعتبر Docker Network أو دوکر أكثر شيوعًا من خلال تطبيقها في علوم الكمبيوتر وهندسة البرمجيات. تسمح هذه المحاكاة على مستوى نظام التشغيل للمبرمجين بتنفيذ التعليمات البرمجية الخاصة بهم بكل تبعياتها على السحابة ، بالإضافة إلى الوصول إلى الشركة أو مشروع الفريق من أي مكان وبأي نظام وتعديله وتنفيذه.

بالإضافة إلى هذه القدرات الأساسية ، يحتوي Network Docker على ميزات جدًا مفيدة لعلوم البيانات. في هذه المقالة ، نريد مراجعة وتقديم تطبيق دوکر في علم البيانات.

ما هو docker

Docker عبارة عن مجموعة من الأنظمة الأساسية كمنتجات خدمة تستخدم المحاكاة الافتراضية على مستوى نظام التشغيل لتقديم البرامج في حزم تسمى الحاويات.

يتم عزل الحاويات عن بعضها البعض وتقوم بتجميع البرامج والمكتبات وملفات التكوين الخاصة بها؛ يمكنها التواصل جيدا مع بعضها البعض من خلال قنوات محددة.

کل دوکر عبارة عن مجموعة من الحاويات التي تتصل جميعها بنواة نظام تشغيل مشترك (مثل Linux). تحتفظ كل حاوية من هذه الحاويات بمكتباتها وحزمها الخاصة وتتواصل مع بعضها البعض من خلال القنوات. من خلال الوصول إلى الحاوية ، يمكن للمبرمج عرض الكود أو إجراء تغييرات عليه أو التأكد من تشغيل الإصدار الجديد بشكل صحيح.

مع دوکر لن تقلق بعد الآن بشأن تبعيات تعليماتك البرمجية. لأنه في الحاوية، يتم توفير جميع التسهيلات اللازمة لتنفيذ الكود على السحابة

تأسست شركة Docker Inc. بواسطة Solomon Hykes و Sebastien Pahl خلال مجموعة حاضنة بدء التشغيل Y Combinator Summer 2010 وتم إطلاقها في عام 2011. بدأ Hykes مشروع دوکر في فرنسا كمشروع داخلي في dotCloud ، وهي منصة كخدمة.

ظهر دوکر لأول مرة للجمهور في سانتا كلارا في PyCon في عام 2013. تم إصداره كمصدر مفتوح في مارس 2013. في ذلك الوقت ، استخدمت LXC كبيئة تنفيذ افتراضية. بعد عام واحد ، مع إصدار الإصدار 0.9 ، استبدل Docker LXC بمكونه الخاص ، والذي تمت كتابته بلغة برمجة
في عام 2017 ، أنشأ دوکر مشروع Moby للبحث والتطوير المفتوح.

كيف يعمل Docker؟

في الأيام الخوالي ، إذا أراد اثنان من المبرمجين العمل مع بعضهما البعض ، فسيكون هناك الكثير من المشاكل في طريقهم. كانت المشكلة الأكبر هي نقل الكود بين جهازي الكمبيوتر. يمكن اعتبار عدم وجود العناصر اللازمة لتنفيذ الكود على الكمبيوتر الوجهة أو تلف الملفات أثناء النقل من أهم أسباب هذه المشكلة. ثم تم إنشاء آلة افتراضية لحل هذه المشكلة. كانت الآلة الافتراضية عبارة عن محاكاة لهندسة الكمبيوتر التي جعلت من الممكن تنفيذ مشاريع مختلفة بدون نظام كمبيوتر.

يُعرف Network Docker بأنه آلة افتراضية خفيفة الوزن. توفر Docker Network محاكاة لنظام التشغيل للمستخدم يمكنه من خلالها تنفيذ أكواد مختلفة. تقع هذه البيئة على السحابة. لهذا السبب عندما يرغب اثنان من المبرمجين أو حتى الفريق في العمل معًا ، يمكنهم عرض الكود وإنشاء إصدارات مختلفة منه فقط عن طريق الاتصال بعامِل.

ما هو استخدام Docker في علم البيانات؟

ترتبط نسبة كبيرة من علم البيانات بالترميز بلغات مثل Python. يعمل متخصصو علوم البيانات في مجالات مثل التعلم الآلي أو التعلم العميق أو التعصب الأعمى في المجالات الأكاديمية والبحثية أو الأعمال التجارية الرقمية. عادة ما يتم هذا النشاط في فرق كبيرة (بين 10 و 100 شخص). في مثل هذه الحالة ، ينشأ نفس القلق المستمر للمبرمجين: “كيف أشارك هذا الرمز مع الآخرين؟” أو “لماذا لا يتم إخراج الكود الذي كتبه زميلي إلى نظامي؟” للقضاء على هذه المخاوف، لا بد من التفكير بشكل حديث.

network docker هي طريقة فعالة لمشاركة التعليمات البرمجية وتشغيلها على جميع الأنظمة. باستخدام Network Docker ، حتى عندما يكون أحد أعضاء الفريق في إجازة ، يمكنه الوصول إلى الكود واختبار أو إنشاء إصدارات جديدة. كل ما عليك فعله هو الاتصال بالإنترنت وتسجيل الدخول إلى دوکر.

باستخدام دوکر في Data Science ، يمكنك إجراء تغييرات على رمز الصورة أو نشر النتيجة في شكل تطبيق ويب. هذا حتى يتمكن زميلك في الفريق من تأكيد التغييرات أو إكمالها فقط من خلال الوصول إلى تلك الصورة عبر الإنترنت. سيؤدي الخروج من قالب تطبيق الويب أيضًا إلى تسهيل تشغيل التعليمات البرمجية بشكل صحيح. في ما يلي ، سوف نعلمك كيفية التعامل مع التعليمات المتعلقة باستخدام دوکر في علم البيانات.

Dockerfile

يشبه ملف Dockerfile الحمض النووي لبناء صورة دوکر. تبدأ دائمًا بأمر FROM وتشير إلى الصورة التي ستستخدمها ، إذا لم يكن لديك الصورة محليًا ، فسيتم تنزيلها تلقائيًا ، وستستخدم الصورة المحلية

FROM node:12

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

ENV PORT=8080

EXPOSE 8080

CMD [ "npm", "start" ]

يعد “:” مؤشرًا لنسخة الصورة التي تستخدمها ، إذا لم تحدد أي عامل تشغيل سيستخدم أحدث إصدار

سيقوم دوکر بتنفيذ كل سطر واحدًا تلو الآخر ، يجب أن يبدأ كل سطر بأحرف كبيرة ، والحرف الكبير هو أمر دوکر والكلمات التالية هي الأوامر التي سيتم تنفيذها, في هذا المثال نحن تشغيل بسيط مشروع NodeJs على الحاوية عامل دوکر.

سنبدأ بتحديد الدليل العالمي ، ثم نسخ الملفات وأخيرًا تعيين المنافذ

كيفية تثبيت Docker

إذا كنت تستخدم توزيعات Linux المستندة إلى ubuntu أو ubuntu ، فيمكنك استخدام هذه الأوامر وإلا ستزور موقع Docker

قم بتثبيت Docker على Ubuntu باستخدام المستودعات الافتراضية

الخطوة 1: تحديث مستودعات البرامج

من الجيد تحديث قاعدة البيانات المحلية للبرامج للتأكد من حصولك على أحدث المراجعات.

sudo apt-get update

الخطوة 2: قم بإلغاء تثبيت الإصدارات القديمة من Docker

بعد ذلك ، يوصى بإلغاء تثبيت أي برنامج دوکر قديم قبل المتابعة.

sudo apt-get remove docker docker-engine docker.io

الخطوة 3: قم بتثبيت Docker على Ubuntu

 sudo apt install docker.io

الخطوة 4 : ابدأ تشغيل Docker وأدخل الأمر التالي لتمكينه بعد كل مرة يتم فيها إعادة تشغيل النظام.

sudo systemctl enable --now docker

الخطوة 5: تعيين امتيازات المستخدم

ستوضح لك هذه الخطوة كيفية منح امتيازات لأي مستخدم باستخدام دوکر. يمكنك استبدال “mohsen” بحساب المستخدم الذي تمنحه الإذن.

sudo usermod -aG docker mohsen

الخطوة 6: اختبار Docker

اختبر دوکر عن طريق تشغيل الأمر التالي ، والذي سيفتح حاوية لتشغيل أمر Hello World.

docker run hello-world

Docker Images

Docker Image هي نموذج للقراءة فقط يحتوي على مجموعة من الإرشادات لإنشاء حاوية يمكن تشغيلها على نظام دوکر الأساسي. يوفر طريقة ملائمة لحزم التطبيقات وبيئات الخادم المكونة مسبقًا ، والتي يمكنك استخدامها لاستخدامك الخاص أو مشاركتها بشكل عام مع مستخدمي دوکر الآخرين

docker image مقابل container

يمكن أن توجد الصور بدون حاويات ، بينما تحتاج الحاوية إلى تشغيل صورة حتى تكون موجودة. لذلك ، تعتمد الحاويات على الصور وتستخدمها لإنشاء بيئة تشغيل وتشغيل أحد التطبيقات. يوجد المفهومان كمكونات أساسية (أو بالأحرى مراحل) في عملية تشغيل حاوية دوکر.

Docker مقابل Virtual Machine

في Docker ، تشترك الحاويات قيد التشغيل في نواة نظام التشغيل المضيف. من ناحية أخرى ، لا تعتمد الآلة الافتراضية على تقنية الحاوية. وهي مكونة من مساحة المستخدم بالإضافة إلى مساحة النواة لنظام التشغيل. ضمن أجهزة افتراضية ، تكون أجهزة الخادم افتراضية.

VMs & Docker – لكل منها مزايا وعيوب. في ظل بيئة VM ، يحتاج كل حمل عمل إلى نظام تشغيل كامل. ولكن مع بيئة الحاوية ، يمكن تشغيل أحمال عمل متعددة باستخدام نظام تشغيل واحد. كلما زادت بصمة نظام التشغيل ، زادت استفادة البيئة من الحاويات. مع هذا ، فإنه يجلب المزيد من الفوائد مثل تقليل موارد إدارة تكنولوجيا المعلومات ، وتقليل حجم اللقطات ، وتطبيقات التدوير الأسرع ، وتقليل التحديثات الأمنية المبسطة ، وتقليل التعليمات البرمجية لنقل أعباء العمل وترحيلها وتحميلها.

Docker Hub

Docker Hub هي خدمة مستودع مستضافة مقدمة من دوکر للعثور على صور الحاويات ومشاركتها مع فريقك. تشمل الميزات الرئيسية:

  • المستودعات الخاصة: ادفع واسحب صور الحاوية
  • الإنشاءات الآلية: قم بإنشاء صور حاوية تلقائيًا من GitHub و Bitbucket ودفعها إلى Docker Hub
  • الفرق والمؤسسات: إدارة الوصول إلى المستودعات الخاصة
  • الصور (Image) الرسمية: اسحب واستخدم صور حاوية عالية الجودة مقدمة من Docker
  • صور الناشر: یمکنکه انتسحب و تستخدم صور حاوية عالية الجودة يوفرها موردون خارجيون. تتضمن الصور المعتمدة أيضًا دعمًا وضمان التوافق مع Docker Enterprise
  • Webhooks: قم بتشغيل الإجراءات بعد الدفع الناجح إلى مستودع لدمج Docker Hub مع الخدمات الأخرى

خاتمة

تعد Network Docker ظاهرة ، على الرغم من ظهورها ، لها مكانة خاصة بين نشطاء الكمبيوتر والبيانات. يعد إزالة القيود المادية وتسهيل عمل فرق البرمجة من بين أهم إنجازات دوکر.

يوفر Docker محاكاة عالية الجودة لنظام التشغيل من خلال الحاويات التي تتصل جميعها بنواة مركزية. في هذه المحاكاة ، يمكنك تنفيذ التعليمات البرمجية الخاصة بك دون الحاجة إلى توفير التبعيات ومشاركة التغييرات المطلوبة مع شركاء آخرين.

علم البيانات هو علم ناشئ يوجد حاليًا في العديد من التطبيقات الجذابة في النظام البيئي للأعمال الرقمية ، ومن المفارقات أنه يتعامل مع البرمجة في الفريق. في هذه المقالة ، حاولنا شرح الأساسيات العملية لاستخدام Docker Network في علم البيانات.

منشور ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

السلة