آنچه در این مقاله میخوانید
اجرای کانتینرهای ابری با رویکرد Docker Offload
۲۵ مرداد ۱۴۰۴
یک سرویس کاملاً مدیریتشده است که به شما امکان میدهد کانتینرها را در فضای ابری اجرا کنید، در حالی که تجربه توسعه locally خود را حفظ میکنید.
این سرویس، زیرساخت ابری را بهصورت درخواستمحور (On-Demand) فراهم میکند تا بتوانید بیلدهای سریع و پایدار داشته باشید، و همچنین بارهای پردازشی سنگین مانند اجرای مدلهای زبانی بزرگ (LLM)، پایپلاینهای یادگیری ماشین را اجرا کنید.
این گزینه زمانی ایدهآل است که بخواهید از منابع ابری استفاده کنید یا سختافزار سیستم محلی شما توانایی اجرای مدل را بهصورت لوکال نداشته باشد.

قابلیتهای کلیدی
- بیلدهای ابری: اجرای بیلدها روی نمونههای BuildKit مدیریتشده و ریموت
- کش بیلد مشترک: تسریع فرآیند بیلد بین سیستمها و اعضای تیم با یک لایه کش هوشمند و اشتراکی
- سازگار با VDI: امکان استفاده از Docker Offload در محیطهای دسکتاپ مجازی یا سیستمهایی که از مجازیسازی تو در تو (Nested Virtualization) پشتیبانی نمیکنند
- پورت فورواردینگ و Bind Mounts: حفظ تجربه توسعهی محلی حتی هنگام اجرای کانتینرها در فضای ابری
- ارتباط امن: برقراری تونلهای رمزگذاریشده بین Docker Desktop و محیطهای ابری همراه با پشتیبانی از مدیریت امن Secretها و Pull کردن Imageها
چرا باید از Docker Offload استفاده بکنیم؟
- انتقال بیلدها و اجرای سنگین به زیرساخت سریع و مقیاسپذیر و همچنین شتاببخشیدن به چرخهی بازخورد در توسعه و تست
- اجرای کانتینرهایی با نیازمندی منابع بیشتر از آنچه سیستم محلی شما ارائه میدهد
- ساخت و اجرای اپلیکیشنهای هوش مصنوعی با دسترسی فوری به محیطهای مجهز به GPU
- مدیریت اپلیکیشنهای پیچیده و چندسرویسی با استفاده از Docker Compose در فضای ابری
- حفظ محیطهای یکپارچه و پایدار بدون نیاز به مدیریت زیرساخت اختصاصی
فعال سازی
اولین قدم این است که نسخه مناسب Docker Desktop را نصب کنیم. نسخه مورد نیاز ۴.۴۳ به بالا است.
برای دسترسی به سرویس Docker Offload لازم است ابتدا در این سرویس ثبتنام کنید و سپس اشتراک مربوطه را فعال نمایید تا بتوانید از تمام امکانات و قابلیتهای آن بهرهمند شوید.
سپس میتوانید با استفاده از دستور زیر، این سرویس را اجرا کنید:
$ docker offload start
سپس لازم است حساب Docker خود را برای استفاده از Docker Offload انتخاب کنید.
وقتی از شما خواسته شد، مشخص کنید که آیا میخواهید پشتیبانی از GPU فعال شود یا خیر. در صورت فعالسازی این گزینه، Docker Offload در یک نمونهی مجهز به کارت گرافیک NVIDIA L4 اجرا خواهد شد که این ویژگی برای انجام وظایف یادگیری ماشین یا پردازشهای سنگین محاسباتی بسیار مفید است.

پس از راهاندازی Docker Offload، Docker Desktop به یک محیط ابری امن متصل میشود که تجربهای مشابه با محیط محلی شما ارائه میدهد. هنگامی که بیلدها یا کانتینرها را اجرا میکنید، عملیات بهصورت ریموت انجام میشوند، اما رفتار و عملکرد آنها دقیقاً همانند اجرای محلی خواهد بود.
اجرای کانتینرها با استفاده از Docker Offload
پس از راهاندازی Docker Offload، Docker Desktop به یک محیط ابری امن متصل میشود که تجربهای مشابه با محیط محلی شما ارائه میدهد. هنگامی که بیلدها یا کانتینرها را اجرا میکنید، عملیات بهصورت ریموت انجام میشوند، اما رفتار و عملکرد آنها دقیقاً همانند اجرای محلی خواهد بود.
برای اطمینان از اینکه Docker Offload به درستی فعال و در حال کار است، یک کانتینر را اجرا کنید:
$ docker run --rm hello-world
اگر گزینهی پشتیبانی از GPU را فعال کردهاید، میتوانید یک کانتینر مجهز به GPU نیز اجرا کنید:
$ docker run --rm --gpus all hello-world
درنهایت پس از انجام کارهای خود، میتوانید با استفاده از دستور زیر، این قابلیت را غیرفعال کنید:
$ docker offload stop
جمع بندی
استفاده از Docker Offload برای توسعهدهندگانی که با پروژههای سنگین و پردازشهای پیچیده سر و کار دارند توصیه میشود، زیرا امکان اجرای کانتینرها و بیلدها روی زیرساخت ابری سریع و مقیاسپذیر را فراهم میکند و تجربه توسعه محلی را حفظ میکند. اما اگر پروژههای شما سبک هستند یا محدودیت اینترنت و هزینه دارید، ممکن است استفاده از آن ضروری نباشد و کار با محیط محلی کفایت کند.