۳۲. درایورهای شبکه در داکر - کوتاه اما خیلی مهم

قبلا در یک پست در مورد شبکه‌ی داکر صحبت شده است اما به صورت اختصار در اینجا در مورد درایورهای متفاوت شبکه‌ی داکر صحبت می‌شود. سرویس داکر دارای درایورهای مختلفی برای شبکه‌ی خود می‌باشد که هر کدام از آنها رفتار متفاوتی خواهند داشت.

در تصویر زیر سیر تکامل شبکه‌ی داکر را بر اساس نسخه‌ی آن مشاهده می‌کنید.

docker networking
docker networking

درایور bridge:

این درایور یکی از ۳ درایور پیش‌فرض سرویس داکر می‌باشد. همواره بعد از نصب داکر ۳ کارت شبکه ایجاد می‌شود که یکی از آنها با استفاده از درایور bridge می‌باشد. در این درایور همانند تصویر زیر بر روی کارت شبکه‌ی host یک bridge تشکیل می‌دهد و تمام کانتینرها به آن bridge متصل می‌شوند.

bridge driver
bridge driver

معمولا از این درایور برای زمان‌هایی استفاده می‌شود که Application شما به صورت تک سرور را‌ه‌اندازی می‌شود و به همواره درایور پیش‌فرض سرویس داکر می‌باشد. به صورت پیش‌فرض هم یک شبکه‌ی bridge وجود دارد اما شبکه‌های bridge که توسط کاربر ایجاد می‌شود از شبکه‌ی پیش‌فرض بهتر بوده و نسبت به آن دارای مزایای بیشتری می‌باشد. لیست برخی از مزایای ایجاد شبکه‌ی bridge:

  • از جمله‌ مزایای آن می‌توان به DNS اشاره کرد که در شبکه‌ی bridge ایجاد شده به صورت خودکار نام تمام کانتینرها resolve می‌شود.
  • می‌توان کانتینرها رو on the fly به این شبکه‌ها متصل و یا اینکه از آنها جدا کرد.
  • هر شبکه‌ی bridge که ایجاد می‌شود می‌توان به صورت مجزا کانفیگ داشته باشد.

درایور macvlan:

در این درایور به هر کانتینر یک مک آدرس اختصاص داده می‌شود به گونه‌ای که انگار هر مک آدرس به یک کارت شبکه فیزیکی در همان شبکه مربوط می‌باشد. سرویس داکر با استفاده از مک آدرس‌ ترافیک را به سمت کانتینرها هدایت می‌کند. بهترین انتخاب برای زمان‌هایی می‌باشد که برنامه‌های قدیمی می‌خواهند به صورت مستقیم با خود کارت شبکه همانند VM کار کنند.

macvlan driver
macvlan driver

همانطور که در تصویر نیز ملاحظه می‌کنید کارت شبکه هر کانتینر در رنج کارت شبکه host دارای Ip می‌باشد و از معایب این روش این است که به ازای هر کانتینر می‌بایست یک ip در رنج استفاده شود.

درایور overlay:

با استفاده از این درایور می‌توان بین ‌hostهای مختلف ارتباط برقرار کرد و کانتینرهای هر host با کانتینرهای hostهای دیگر ارتباط برقرار می‌کند. طبق یک تعریف دیگر این درایور بین چند تا سرویس داکر ارتباط برقرار می‌کند. اگر شما از swarm استفاده کنید به صورت پیش‌فرض از این درایور برای شبکه استفاده می‌کند.

overlay network
overlay network

همانطور که ملاحظه می‌کنید این ارتباط بین چند تا سرویس داکر ایجاد شده است.

در جدول زیر یه توضیح خیلی کوتاه در مورد ۵ درایور اصلی شبکه در داکر داده شده است.

network description
network description

منبع


آموزش داکر و پلتفرم به زبان فارسی
آموزش داکر و پلتفرم به زبان فارسی
https://dockerme.ir/