برنامه نویسی

🐳 درک شبکه پل پیش فرض Docker (با نمودار)

اگر تا به حال یک ظرف docker را چرخانید و تعجب کرده اید چگونه این موضوع با اینترنت صحبت می کند؟، شما تنها نیستید.

Docker بی سر و صدا دنیای مجازی ریز و درشتی را در پشت صحنه ایجاد می کند – با پل ها ، کابل های اترنت جعلی (VETH) و میزهای مسیریابی. در این پست ، ما طی خواهیم کرد چگونه پیش فرض Docker bridge شبکه در واقع کار می کند، با استفاده از a نمونه مبتنی بر نموداربشر آماده؟ بیا بریم! 👇


🔍 بررسی اجمالی سریع

وقتی دویدید:

docker run -d nginx
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Docker ظرف خود را در شبکه ای به نام قرار می دهد bridge (مگر اینکه در غیر این صورت آن را بگویید). این bridge است سوئیچ مجازی داخل میزبان خود

ظرف شما:

  • خودش را می گیرد رابط اترنت مجازی
  • از طریق پل با سایر ظروف مذاکره می کند
  • از طریق دنیای خارج می رسد مسیریابی

بیایید این را از نظر بصری تجزیه کنیم.


📊 Diagram Walkthrough

Docker-Bridge-نمونه

یادداشت: این نمودار سه ظروف را نشان می دهد (busyboxبا nginxبا busybox-sec) متصل به شبکه پیش فرض Bridge Docker در میزبان.

در اینجا چه خبر است ، قدم به قدم:


🐳 1. هر ظرف یک جفت مجازی اترنت دریافت می کند

  • هر ظرف دارای eth0 رابط در داخل.
  • این رابط در واقع یک انتهای a است جفت اترنت مجازی (veth).
  • انتهای دیگر آن جفت به پل داکر وصل شده است (docker0) در میزبان.

مثل سیم با دو انتها به آن فکر کنید:

  • یک انتهای داخل ظرف (eth0)
  • یک انتهای داخل میزبان (vethXYZ) ، به سوئیچ مجازی وصل شده است

🧱 2. پل داکر (docker0) مانند روتر عمل می کند

بلوک سبز برچسب Docker 0 شبکه پل است:

  • تمام کانتینر را به هم متصل می کند veth رابط
  • این ترافیک بین ظروف را هدایت می کند
  • من خیانت ترافیک برون مرزی برای عبور از میزبان eth0 رابط

به زبان ساده تر:

  • اگر nginx پنگ busybox، بسته ها از طریق docker0
  • اگر nginx دسترسی به Google ، Docker IP منبع را به IP میزبان بازنویسی می کند

🌐 3. ترافیک برون مرزی به اینترنت جریان می یابد

  1. یک کانتینر درخواستی را به www
  2. آن بسته از طریق آن سفر می کند vethdocker0 → میزبان eth0 → خانه شما روتر
  3. روتر بسته را به اینترنت عمومی منتقل می کند

Docker دستگیره منبع (Snat) ، بنابراین از دنیای خارج ، به نظر می رسد میزبان درخواست را انجام داد، نه ظرف.


📌 مزایای اصلی شبکه پل

  • ✅ استفاده آسان: پیش فرض برای اکثر ظروف
  • ✅ جدا شده: ظروف دارای IP های خصوصی هستند
  • communication ارتباطات بین کانتینر پشتیبانی می شود
  • ✅ دسترسی به اینترنت از طریق NAT

🚫 اما محدودیت هایی وجود دارد

  • ❌ بدون وضوح DNS به طور پیش فرض (از شبکه های سفارشی برای آن استفاده کنید)
  • ❌ برای ارتباطات بین میزبان ایده آل نیست
  • ❌ برخی از ژیمناستیک نقشه برداری بندر مورد نیاز (-p 8080:80)

🧠 برای یک نکته

اگر می خواهید کشف خدمات نامگذاری شده (به عنوان مثال ، تماس بگیرید db:5432 به جای IP) ، از a استفاده کنید شبکه پل سفارشی:

docker network create mynet
docker run -d --name db --network mynet postgres
docker run -d --network mynet myapp
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این حالت ، myapp می تواند با db با استفاده از آن نام کانتینربشر 🚀


thoughts افکار نهایی

شبکه Bridge معجزه کمی آرام Docker است – ساده ، قدرتمند و در دید ساده پنهان است.

این گفته ، با رشد معماری شما ، می خواهید کشف کنید:

  • شبکه های پل سفارشی برای کشف خدمات
  • شبکه میزبان برای عملکرد
  • شبکه های روکش برای تنظیمات چند میزبان (پست بعدی!)

آیا این کمک کرد تا امور واضح تر شود؟
اگر چنین است ، مرا دنبال کنید تا Docker و DevOps بیشتر از آن استفاده کنید!
بیایید ظروف را از بین ببریم-یک نمودار در یک زمان.

✍ zaheetdev

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا