مقدمة إلى Docker Networking: سير العمل ، أساسيات الشبكات ، أوامر الشبكات
نشرت: 2020-04-30جدول المحتويات
مقدمة
في عصر المحاكاة الافتراضية هذا ، لم يعد مسؤولو الشبكات يعملون فقط على مكونات الشبكات التقليدية مثل أجهزة التوجيه ومكونات LAN / WAN والمحولات. عليهم العمل على مكونات الشبكة على منصات المحاكاة الافتراضية. تهتم صناعة تكنولوجيا المعلومات بأكملها بمفهوم النقل بالحاويات ، حيث تكون مهارات التواصل القوية ضرورية.
نظرًا لأن Docker هو أحد أكثر برامج الحاويات استخدامًا ، فإن مهارات شبكة Docker مهمة لتكوين الحاوية. في الوقت الحاضر ، تستخدم أكثر من 12000 شركة حاويات Docker لشحن تطبيقاتها . وتشمل هذه الشركات JPMorgan Chase و ThoughtWorks و Neudesic.
في هذه المقالة ، سنتعرف على مقدمة Docker ، أساسيات شبكة Docker .
دعونا نفهم أولاً أساسيات Docker.
ما هو Docker؟
Docker عبارة عن منصة لتعبئة البرامج قدمت مفهوم النقل بالحاويات. الحاوية هي العملية التي يتم من خلالها تعبئة تطبيق برمجي بجميع التبعيات المطلوبة مثل المكتبات والوحدات النمطية ونظام التشغيل. هذا يجعل البرنامج قابلاً للتنفيذ بسهولة في أي بيئة.
تسمى حزم البرامج هذه حاويات Docker . تُستخدم هذه الحاويات لنشر التطبيق لبيئة معينة. يمكن أن تكون حاوية Ubuntu أو حاوية CentOS أو حاوية Tomcat-Ubuntu أو CakePHP.

لنفترض أنه تم إنشاء تطبيق Java ليتم تنفيذه في بيئة بها خادم Tomcat مثبت. بعد التطوير ، يتم إرسال التطبيق للاختبار. يجب على المختبرين إعداد خادم Tomcat مرة أخرى لتشغيل التطبيق. بعد ذلك ، سيتم إرسالها إلى بيئة الإنتاج ، والتي ستتطلب مرة أخرى إعداد نفس البيئة.
لكن حاوية Docker التي تحتوي على البيئة الموجودة بالفعل ستحل مشكلة البدء من نقطة الصفر. وبالتالي ، يمكن للمطورين والمختبرين وأعضاء وحدة الإنتاج تنفيذ التطبيق دون إعداد خادم Tomcat مرارًا وتكرارًا.
قراءة: أفكار وموضوعات مشروع Docker
سير عمل Docker
التطبيق أو رمز المشروع مكتوب في ملف Docker . يحتوي هذا الملف على متطلبات التطبيق والتبعيات. ينتج هذا الملف صورة Docker يتم استخدامها لاحقًا لتنفيذ التعليمات البرمجية في الملف.
تحتوي الصورة على الكود ومتغيرات البيئة وملفات التكوين ووقت التشغيل والمكتبات اللازمة لتشغيل التطبيق. يتم بعد ذلك تحميل الصور إلى Docker Hub ، وهو مستودع GIT يتكون من صور Docker. من هذه المستودعات ، يمكنك جلب وتحميل صور Docker الخاصة بك.
يقوم أعضاء فريق ضمان الجودة أو فريق الإنتاج بإحدى الشركات بإحضار الصور لتطوير حاوياتهم. نظرًا لأن كل هذه الحاويات قد تكون معزولة عن بعضها البعض ، فإن شبكة Docker هي مجموعة القواعد التي يتفاعلون من خلالها مع بعضهم البعض.
الآن بعد أن أصبح لديك فهم أساسي لـ Docker ، دعنا نلقي نظرة فاحصة على شبكات Docker .
اقرأ أيضًا: راتب Docker في الهند
Docker Networking B asics
عند تثبيت Docker مبدئيًا ، يتم تكوين ثلاث شبكات Docker مختلفة - لا شيء ومضيف وجسر. لا شيء والمضيف مكونان مهمان في مكدس Docker ، ولا يمكن إزالتهما. يمكن تكوين شبكة الجسر ، المعروفة باسم شبكة docker0.
يمكن استخدام Docker لإنشاء العديد من الشبكات. يمكنك إضافة حاويات لأكثر من شبكة. يمكن للحاوية المرفقة بشبكات متعددة الاتصال بحاويات هذه الشبكات.
برامج تشغيل الشبكة الرئيسية المستخدمة في Docker هي كما يلي:
كوبري
هذه هي الشبكة الافتراضية الخاصة التي تم إنشاؤها على المضيف بواسطة Docker. يتم إنشاء شبكة IP الفرعية والبوابة تلقائيًا بواسطة هذه الشبكة. تعتبر الحاويات التي تنتمي إلى هذه الشبكة جزءًا من نفس الشبكة الفرعية. لذلك ، تتواصل الحاويات في هذه الشبكة عبر عناوين IP.
تعد برامج تشغيل شبكة Bridge مفيدة جدًا عند تشغيل التطبيق في حاوية قائمة بذاتها. تمثل عمليات تثبيت Docker docker0 افتراضيًا. سيعيد Docker كائن JSON الذي سيصف شبكة الجسر إذا قمت بكتابة الأمر التالي في وحدة التحكم:
شبكة عامل ميناء فحص الجسر

مضيف
يتم استخدام برنامج التشغيل المضيف للحاويات المستقلة . إذا تم استخدام وضع شبكة المضيف للحاوية ، فسيتم إزالة العزل بين مضيف Docker ومكدس الشبكة. لا تحصل الحاوية على عنوان IP مخصص.
على سبيل المثال ، يتم تنفيذ حاوية ترتبط بالمنفذ 80 ، ويتم استخدام الشبكة المضيفة. في هذه الحالة ، سيكون تطبيق الحاوية متاحًا على المنفذ 80 على عنوان IP الخاص بالمضيف. يكون وضع الشبكة هذا مفيدًا عندما تتعامل حاوية مع عدد كبير من المنافذ.
علاوة على ذلك ، يسمح لك برنامج التشغيل المضيف بتشغيل العديد من حاويات الويب على نفس المضيف الفردي.
لا أحد
في هذا النوع من الشبكات ، لا يمكن للحاويات الوصول إلى الشبكات الخارجية ولا يتم توصيلها بحاويات أو شبكات أخرى. لا يتم استخدام أي شيء عندما ترغب في تعطيل مكدس الشبكة في حاوية معينة.
لا يحتوي أي منها على واجهة استرجاع فقط ، مما يعني عدم وجود واجهات شبكة خارجية.
تراكب
يستخدم هذا لإنشاء شبكة خاصة داخلية تمتد عبر جميع العقد في كتلة السرب. شبكة حشد الرصيف هي مجموعة من الأجهزة الافتراضية أو المادية التي تقوم بتنفيذ تطبيق Docker. يعد برنامج تشغيل الشبكة هذا مهمًا في شبكة Docker لأنه يسمح بالاتصال بين الحاوية المستقلة وخدمة السرب.
يمكن أيضًا للحاويات المستقلة الموجودة على شياطين Docker المختلفة التفاعل مع برنامج التشغيل هذا. لذلك ، لا يتعين عليك إجراء توجيه على مستوى نظام التشغيل للحاويات.
ماكفلان
تتيح لك هذه الشبكة تعيين عنوان MAC لحاوية. هذا يجعلها تظهر كجهاز مادي. باستخدام هذا العنوان ، يقوم Docker daemon بتوجيه حركة المرور إلى جهاز توجيه معين. Docker daemon هو خادم يعمل على نظام التشغيل المضيف ويتفاعل معه لأداء أنشطة مختلفة. تعمل شبكة Macvlan على تبسيط الاتصال بين الحاويات.
يعد Macvlan خيارًا جيدًا عند التعامل مع التطبيقات القديمة التي يُتوقع توصيلها بالشبكة الفعلية. إذا قمت بإنشاء شبكة Macvlan ، فيمكن أن تكون في وضعين - وضع الجسر أو وضع جسر جذع 802.1q.
المكونات الإضافية للشبكة
يمكنك استخدام مكون إضافي للشبكة تابع لجهة خارجية مع Docker. تتوفر هذه المكونات الإضافية في Docker Hub ويمكن الحصول عليها عبر موردي الجهات الخارجية.
أوامر Docker Networking
أوامر شبكة عامل الإرساء الأكثر شيوعًا هي كما يلي:
قائمة شبكات Docker
سوف يسرد هذا الرمز جميع شبكات Docker على المضيف -
شبكة عامل ميناء ls
إنشاء شبكة Docker
سيساعدك الأمر التالي في إنشاء شبكة قبل تشغيل الحاوية:
شبكة عامل ميناء إنشاء - - اسم سائق سائق
هنا ، اسم محرك الأقراص هو الاسم المعطى لبرنامج تشغيل الشبكة قائمة بأوامر الشبكة
يستخدم هذا الأمر لسرد أوامر الشبكة المتوفرة:
مساعدة شبكة عامل ميناء
إزالة الشبكة
يمكن استخدام الأمر rm لإزالة الشبكة.
شبكة عامل ميناء rm mynetwork
الاتصال بشبكة Docker
عند إنشاء شبكة Docker ، يتم توصيلها افتراضيًا بشبكة الجسر. يمكن استخدام الأمر التالي للاتصال بشبكة أخرى عند تشغيل الحاوية:
تشغيل حاوية عامل ميناء -it –net = mynetwork nginx
الحصول على موانئ الحاويات

يمكنك الحصول على منفذ الحاوية باستخدام أمر المنفذ:
منفذ عامل ميناء cotainer_name / id
خاتمة
يعد Docker جانبًا مهمًا من جوانب تطوير البرامج هذه الأيام. نظرًا لأن المزيد والمزيد من الشركات تتجه نحو استخدام الحاويات ، فإن الشبكات مهمة لعزل الحاويات. يتيح ذلك تطوير تطبيقات الويب التي تعمل معًا بشكل آمن. تساعد هذه الشبكات في تحسين الاتصال بين الحاويات.
ساعد Docker العديد من الشركات على تحسين وقت النشر وتقليل التكاليف المرتبطة به. لذلك ، إذا كنت مبتدئًا ، فستكون هذه المقالة مفيدة في التفاف رأسك حول أساسيات شبكة عامل ميناء .
إذا كنت مهتمًا بمعرفة المزيد حول تطوير المكدس الكامل ، فراجع دبلومة PG من upGrad و IIIT-B في تطوير البرامج المتكاملة المصممة للمهنيين العاملين وتقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ومهام ، IIIT -ب حالة الخريجين ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.