Apple Container 1.0: جایگزین بومی Docker برای macOS عرضه شد

خلاصه هوشمند مقاله
ابزار متنباز Apple برای کانتینرها، که جایگزینی بومی و مبتنی بر Swift برای اجرای کانتینرهای Linux روی macOS است، به نسخه 1.0 رسید. این ابزار خط فرمان امکان ساخت، اجرا، و انتشار کانتینرهای Linux سازگار با OCI را مستقیماً از macOS فراهم میکند.
ابزار متنباز Apple برای کانتینرها، که جایگزینی بومی و مبتنی بر Swift برای اجرای کانتینرهای Linux روی macOS است، به نسخه 1.0 رسید. این ابزار خط فرمان امکان ساخت، اجرا، و انتشار کانتینرهای Linux سازگار با OCI را مستقیماً از macOS فراهم میکند. از آنجا که macOS به طور بومی کانتینرهای Linux را اجرا نمیکند، رویکرد Apple بر ماشینهای مجازی سبکوزن Linux متکی است که هر کانتینر محیط ایزوله خود را دارد. برخلاف کانتینرهای معمولی که معمولاً حول یک برنامه یا فرآیند واحد مدلسازی میشوند، یک "container machine" به عنوان یک محیط پایدار Linux طراحی شده است. این ابزار یک راهاندازی یکپارچه Linux را بر اساس تصاویر استاندارد OCI ارائه میدهد که میتواند ساخته و به اشتراک گذاشته شود. این ویژگی مهم است زیرا کاربران میتوانند به جای اجرای کانتینرهای کوتاهمدت، محیطهای Linux طولانیمدت ایجاد کنند که در طول جلسات مختلف باقی میمانند، سیستم init را اجرا میکنند و از سرویسهای طولانیمدت پشتیبانی میکنند. در مورد یکپارچگی با میزبان، یک "container machine" به طور خودکار نام کاربری و دایرکتوری خانه macOS را به محیط Linux نگاشت میکند. این امکان به توسعهدهندگان اجازه میدهد تا کد را با استفاده از ابزارهای بومی macOS، مانند IDE یا ویرایشگر دلخواه خود، ویرایش کنند، در حالی که همان پروژه را در داخل Linux میسازند و اجرا میکنند. پشتیبانی از سرویسهای واقعی Linux نیز یک افزودنی مفید است که "container machine" را برای آزمایش برنامهها در برابر سرویسهای پسزمینه در محیط Linux مناسب میسازد. این ویژگی از چندین محیط توزیع هدف نیز پشتیبانی میکند. توسعهدهندگان میتوانند ماشینهای جداگانه برای Alpine، Ubuntu، Debian یا سایر تصاویر Linux ایجاد کنند، در حالی که همچنان دایرکتوری خانه و dotfiles macOS را به اشتراک میگذارند.
این امکان به توسعهدهندگان اجازه میدهد تا کد را با استفاده از ابزارهای بومی macOS، مانند IDE یا ویرایشگر دلخواه خود، ویرایش کنند، در حالی که همان پروژه را در داخل Linux میسازند و اجرا میکنند.
مدیریت این محیطها از طریق مجموعه دستورات جدید "container machine" انجام میشود. کاربران میتوانند ماشینها را ایجاد کنند، shellهای تعاملی را باز کنند، دستورات یکباره را اجرا کنند، یک ماشین پیشفرض تنظیم کنند، محیطها را لیست و بررسی کنند، آنها را متوقف و حذف کنند، و تنظیماتی مانند تخصیص CPU و حافظه را تغییر دهند. mount دایرکتوری خانه را میتوان به صورت خواندن-نوشتن، فقط خواندنی یا غیرفعال پیکربندی کرد. برای کاربران پیشرفته، "container machine" از مجازیسازی تو در تو (nested virtualization) با الزامات مهمی پشتیبانی میکند. این ویژگی به یک Mac با تراشه Apple Silicon M3 یا جدیدتر که macOS 15 یا بالاتر را اجرا میکند، به علاوه یک هسته Linux که با پشتیبانی KVM ساخته شده باشد، نیاز دارد. Apple خاطرنشان میکند که هسته پیشفرض از این قابلیت پشتیبانی نمیکند، بنابراین کاربرانی که به مجازیسازی تو در تو نیاز دارند، باید یک هسته سفارشی مناسب ارائه دهند. البته، هیچیک از این موارد به این معنی نیست که Docker Desktop ناگهان روی macOS بیاهمیت شده است. Docker همچنان اکوسیستم گستردهتر، گردشکارهای Compose، ابزارهای GUI، یکپارچگیها و سهم ذهنی توسعهدهندگان بیشتری دارد. برای بسیاری از کاربران، به ویژه آنهایی که قبلاً در گردشکارهای مبتنی بر Docker سرمایهگذاری کردهاند، ابزار Apple جایگزینی
