0Pricing
DevOps Bootcamp · درس

أساسيات شبكات الحاويات

افهموا شبكات Docker الافتراضية وشبكات الجسر وكيفية العثور على الحاويات بعضها بعضًا

أساسيات شبكات الحاويات درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

لماذا نحتاج إلى شبكات الحاويات؟

تُعزل الحاويات بطبيعتها، وهذا أمر رائع من ناحية الأمان وقابلية النقل. ومع ذلك، تحتاج التطبيقات غالبًا إلى التواصل مع بعضها ومع العالم الخارجي لكي تكون مفيدة.

هنا يأتي دور شبكات Docker! فهي تتيح للحاويات التواصل بأمان وكفاءة.

أساسيات شبكات الحاويات — رسم توضيحي 1

شبكة الجسر الافتراضية في Docker

عند تشغيل حاوية من دون تحديد شبكة، يربطها Docker تلقائيًا بـ شبكة الجسر الافتراضية. ويُسمى هذا الشبكة bridge.

يمكن للحاويات الموجودة على هذه الشبكة التواصل مع بعضها باستخدام عناوين IP الخاصة بها، كما تحصل على إمكانية الوصول إلى الإنترنت.

فحص شبكات Docker

يمكنكم بسهولة عرض جميع شبكات Docker المتاحة على نظامكم. يسرد الأمر docker network ls الشبكات، بينما يوفر docker network inspect إعدادات تفصيلية لشبكة محددة.

جرّبوا عرض شبكاتكم:

docker network ls

عناوين IP للحاويات

يخصص خادم DNS الداخلي في Docker لكل حاوية متصلة بشبكة جسر (افتراضية أو يحددها المستخدم) عنوان IP فريدًا خاصًا بها.

يتيح عنوان IP هذا للحاويات الأخرى الموجودة على الشبكة نفسها الوصول إليها. لنرَ عنوان IP لإحدى الحاويات:

docker run --rm -it alpine ip a

التواصل عبر الجسر الافتراضي

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

يُعد استخدام شبكات الجسر التي يحددها المستخدم النهج الحديث والمفضل لاكتشاف الحاويات والتواصل معها باستخدام الأسماء.

شبكات الجسر التي يحددها المستخدم

تقدم شبكات الجسر التي يحددها المستخدم مزايا مهمة مقارنة بالجسر الافتراضي:

  • حل DNS تلقائي: يمكن للحاويات الموجودة على الشبكة نفسها التي يحددها المستخدم العثور على بعضها باستخدام اسم الخدمة (اسم الحاوية).
  • عزل أفضل: توفر هذه الشبكات عزلًا أفضل لتطبيقاتكم.
  • قابلية أكبر للتهيئة: تمنحكم تحكمًا أكبر في إعدادات الشبكة.

عرض توضيحي: التواصل باستخدام الاسم

لننشئ شبكة مخصصة، ونشغّل خادم ويب Nginx عليها، ثم نستخدم حاوية أخرى للوصول إلى خادم Nginx باستخدام اسمه. لاحظوا مدى سهولة ذلك!

docker network create my-app-net
docker run -d --name webserver --network my-app-net nginx
docker run --rm --network my-app-net alpine sh -c "apk add curl && curl -s http://webserver"
docker rm -f webserver
docker network rm my-app-net

إتاحة المنافذ للمضيف

للوصول إلى خدمة داخل حاوية من جهازكم المضيف أو من شبكة خارجية، يجب 'نشر' منفذها أو 'ربطه' باستخدام العلامة -p أو --publish.

على سبيل المثال، تربط -p 8080:80 المنفذ 8080 على المضيف بالمنفذ 80 داخل الحاوية.

docker run -d --name my-webserver -p 8080:80 nginx
# To check, open http://localhost:8080 in your browser
# Then, clean up the container:
docker rm -f my-webserver

برامج تشغيل الشبكات الأخرى

بالإضافة إلى شبكات الجسر، يوفر Docker برامج تشغيل أخرى للشبكات لاستخدامات محددة:

  • Host: تشارك الحاوية مكدس شبكة المضيف، وبذلك تفقد العزل.
  • None: لا تحتوي الحاوية على واجهات شبكة.
  • Overlay: تُستخدم مع Docker Swarm لتمكين التواصل بين عدة برامج Docker خفية تعمل على مضيفين مختلفين.

يخدم كل برنامج تشغيل غرضًا فريدًا في سيناريوهات النشر المختلفة.

تحدي الشبكات

أي العبارات التالية صحيحة بشأن شبكة bridge الافتراضية في Docker وشبكات الجسر التي يحددها المستخدم؟

مراجعة: أساسيات الشبكات

لقد غطينا أساسيات شبكات Docker:

  • تتيح شبكة bridge الافتراضية للحاويات التواصل باستخدام عناوين IP.
  • تُفضَّل شبكات الجسر التي يحددها المستخدم لتوفير حل DNS تلقائي باستخدام الأسماء وعزل أفضل.
  • تعلمنا كيفية جعل الحاويات تتواصل مع بعضها، وكيفية إتاحة منافذ الحاويات للمضيف.
  • تطرقنا بإيجاز إلى برامج تشغيل شبكات أخرى مثل host وoverlay.

يُعد فهم الشبكات أمرًا بالغ الأهمية لبناء تطبيقات مترابطة تعمل داخل حاويات. سنتعمق بعد ذلك في إدارة البيانات الدائمة باستخدام Docker Volumes!

الأسئلة الشائعة

هل درس «أساسيات شبكات الحاويات» مجاني؟

نعم — نص درس «أساسيات شبكات الحاويات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «أساسيات شبكات الحاويات»؟

افهموا شبكات Docker الافتراضية وشبكات الجسر وكيفية العثور على الحاويات بعضها بعضًا تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «أساسيات شبكات الحاويات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات شبكات الحاويات
  2. وحدات تخزين Docker للاستمرارية
  3. عمليات الربط وعمليات تحميل tmpfs
  4. شبكات Bridge مخصصة واكتشاف الخدمات
← العودة إلى DevOps Bootcamp