اجرای Docker در macOS بدون Docker Desktop

در گفتگوی خود، امکان اجرای Docker در macOS را بدون تکیه بر Docker Desktop مورد بحث قرار دادیم و دلایلی را بررسی کردیم که چرا Docker CLI به تنهایی در اوبونتو کافی است اما در macOS کافی نیست. در اینجا خلاصه ای دقیق آمده است:
چرا دسکتاپ Docker در macOS اجباری نیست؟
در حالی که Docker Desktop یک راه حل همه کاره برای اجرای Docker در macOS ارائه می دهد، این تنها راه برای استفاده از Docker نیست. شما می توانید از ابزارهای جایگزین برای رسیدن به نتیجه مشابه استفاده کنید. Docker Desktop به دلیل سهولت استفاده و ادغام آن محبوب است، اما اگر ترجیح می دهید از آن استفاده نکنید، روش های دیگری در دسترس است.
استفاده از Docker بدون Docker Desktop
-
Docker CLI را نصب کنید:
- در macOS، میتوانید Docker CLI را با استفاده از Homebrew نصب کنید:
brew install docker
-
اجرای Docker Daemon:
- از آنجایی که macOS به طور بومی از ویژگیهای هسته اصلی لینوکس Docker پشتیبانی نمیکند، برای اجرای Daemon Docker به یک ماشین مجازی سبک (VM) نیاز دارید.
- کولیما: یکی از این ابزارها Colima است که از طریق Homebrew قابل نصب است:
brew install colima
-
با استفاده از Docker CLI:
- هنگامی که Colima اجرا می شود، می توانید کانتینرهای Docker را با استفاده از Docker CLI مدیریت کنید:
docker run hello-world
چرا Docker CLI Alone در اوبونتو کار می کند؟
Docker در اوبونتو بدون نیاز به CLI کار می کند زیرا:
- هسته لینوکس: اوبونتو بر روی هسته لینوکس اجرا می شود که به طور بومی از ویژگی های ضروری Docker مانند فضاهای نام و گروه های کنترل (cgroups) پشتیبانی می کند.
- داکر دیمون: در اوبونتو، Docker CLI مستقیماً با دیمون داکر که روی همان هسته لینوکس اجرا میشود ارتباط برقرار میکند و نیاز به VM را از بین میبرد.
تفاوت در macOS و اوبونتو
- تفاوت هسته: macOS از هسته داروین (مبتنی بر BSD) استفاده میکند که فاقد پشتیبانی بومی برای فناوریهای کانتینریسازی Docker است.
- VM مورد نیاز: برای جبران، macOS از VM (از طریق Docker Desktop یا جایگزین هایی مانند Colima) برای ارائه یک محیط لینوکس برای Docker استفاده می کند.
نتیجه
به طور خلاصه، در حالی که Docker Desktop فرآیند اجرای Docker را در macOS ساده می کند، ضروری نیست. با استفاده از ابزارهای جایگزین مانند Colima، می توانید یک محیط Docker را بدون Docker Desktop راه اندازی کنید. درک تفاوتهای هسته بین macOS و سیستمهای مبتنی بر لینوکس مانند اوبونتو توضیح میدهد که چرا macOS برای اجرای کارآمد Docker به مراحل بیشتری نیاز دارد.