در اینجا نحوه دریافت بهترین تجربه Docker در ویندوز آورده شده است.
زیرسیستم ویندوز برای لینوکس 2 یک ابزار فوق العاده در ویندوز 10 و 11 است و به طور یکپارچه با داکر ادغام می شود. به عنوان توسعه دهندگان، ضروری است که بدانید این نرم افزار چه چیزی را ارائه می دهد و چگونه می توانید از راه اندازی Docker-WSL 2 بهترین استفاده را ببرید.
داکر چیست؟
Docker یک پلت فرم منبع باز است که به توسعه دهندگان اجازه می دهد تا به طور موثر برنامه های خود را در یک کانتینر بسازند، استقرار و اجرا کنند. همه وابستگی ها به صورت بسته بندی شده اند تا پروژه شما به راحتی در هر محیطی مستقر شود.
داکر در میان بسیاری از پلتفرمهای کانتینریسازی بسیار محبوب است زیرا قابل اعتماد، کاربردی و بسیار مقیاسپذیر است. این بر روی موتور Docker اجرا میشود، یک ابزار ضروری DevOps که محیطی تمیز و سبک را برای آزمایش و استقرار فراهم میکند. داکر شبیه ماشین مجازی است اما سیستم عامل را به جای سخت افزار زیرین مجازی سازی می کند.
برای توسعهدهندگان نرمافزار، Docker با ایجاد کانتینرهای جداگانه برای میکروسرویسهای مختلف که شامل وابستگیها، کتابخانهها و پیکربندیهای لازم است، گردش کار را سادهتر میکند. هر کانتینر میکروسرویس ایزوله و به صورت جداگانه مقیاس پذیر است.
نحوه استفاده از Docker در WSL 2
Docker با تمام سیستم عامل های اصلی مانند ویندوز، macOS و لینوکس سازگار است. اگر از ویندوز 10 یا 11 استفاده میکنید، میتوانید از Docker از طریق Docker Desktop استفاده کنید و آن را با زیرسیستم ویندوز برای لینوکس 2 برای عملکرد بهتر ادغام کنید. می توانید Docker Desktop را برای ویندوز از وب سایت رسمی Docker دانلود کنید.
زیرسیستم ویندوز برای لینوکس (WSL) یک ویژگی ارزشمند است که به کاربران ویندوز اجازه میدهد تا توزیعهای لینوکس مانند اوبونتو و کالی را بدون راهاندازی ماشین مجازی یا بوت دوگانه اجرا کنند.
این همچنین به این معنی است که کاربران ویندوز میتوانند مستقیماً از ابزارها، برنامهها و برنامههای کاربردی خط فرمان لینوکس بدون مراحل نصب اضافی استفاده کنند. جدیدترین نسخه WSL، WSL 2، ثبات بیشتر و هسته اختصاصی لینوکس را فراهم می کند.
از آنجایی که کانتینرهای Docker قوی هستند، حتی می توانید آنها را برای میزبانی سرور خود پیکربندی کنید. کانتینرهای docker nginx معمولاً به عنوان وب سرور استفاده می شوند. علاوه بر این، می توانید از Docker به چندین روش دیگر استفاده کنید:
- توزیع های لینوکس را به راحتی اجرا کنید
- یک وب سرور برای اهداف یادگیری یا آزمایش راه اندازی کنید
- برنامه های کاربردی استقرار قابل حمل
- برنامه را در یک فایل تصویری قرار دهید
- خط لوله CI/CD ساده شده
شما باید با بهترین روشها برای استفاده از Docker با زیرسیستم ویندوز برای لینوکس 2 آشنا شوید، درست مانند هر پلتفرم یا ابزار دیگری. بهعنوان یک توسعهدهنده، از تجربه شخصی میتوانم بگویم که وقتی نکات زیر را در جریان کاری خود ادغام کنید، بسیار سازندهتر و کارآمدتر خواهید شد.
1. کد VS را با WSL 2 ادغام کنید
Visual Studio Code یک IDE محبوب است که به دلیل ویژگیها، انجمن و برنامههای افزودنی باورنکردنی آن مورد علاقه است. به عنوان یک توسعه دهنده، توانایی استفاده از کد ویژوال استودیو برای توسعه برنامه در پلتفرم ویندوز و همچنین اجرای آن برنامه ها بر روی هسته لینوکس یک ویژگی فوق العاده سودمند و تقریباً باورنکردنی است.
هنگامی که VS Code را در زیرسیستم ویندوز برای لینوکس ادغام می کنید، می توانید از هسته تخصصی لینوکس آن برای افزایش سازگاری بین پلتفرم ها استفاده کنید. شما می توانید با استفاده از ترمینال یکپارچه در VS Code با WSL 2، گردش کار خود را ساده تر کنید.
برای تنظیم VS Code با WSL 2 در ویندوز، میتوانید افزونه WSL را از VS Code Marketplace پیکربندی کنید و کارها را پیش ببرید.
2. از سیستم فایل WSL 2 استفاده کنید
برای اجرای صحیح کانتینرهای Docker، بسیار مهم است که به سیستم فایل توزیع WSL 2 خود اعتماد کنید و به شدت به سیستم فایل بومی ویندوز وابسته نباشید. در طول تجربه کار با کانتینرهای Docker در WSL 2، متوجه شده ام که بهتر است فایل های پروژه خود را در WSL ذخیره کنید.
3. از اسکریپت های لینوکس بومی استفاده کنید
بسیاری از پروژه های کانتینری که روی آنها کار خواهید کرد احتمالاً با اسکریپت هایی برای اتوماسیون در لینوکس ارائه می شوند. به طور معمول، این اسکریپت ها ابتدا برای لینوکس توسعه داده می شوند و توسعه دهندگان ویندوز در اولویت نیستند.
با WSL 2، کل تیم شما میتواند از همان اسکریپتهای اتوماسیون لینوکس استفاده کند، و شما لازم نیست نگران حفظ اسکریپتهای اتوماسیون سازگار با ویندوز برای تیم خود باشید.
4. BuildKit را برای بهبود امنیت و عملکرد پیکربندی کنید
BuildKit یک جعبه ابزار منبع باز است که فرآیند ساخت سنتی Docker را از نظر عملکرد و امنیت بهبود می بخشد. مستقیماً با Docker ادغام شده است، بنابراین نیازی به نصب جداگانه آن ندارید.
وقتی BuildKit را به طور پیشفرض فعال میکنید، مطمئن میشوید که کانتینرهای شما با جعبه ابزار BuildKit ساخته میشوند و امنیت، همزمانی، انعطافپذیری و ذخیرهسازی بهتری به شما میدهد.
برای فعال کردن BuildKit به طور پیش فرض، باید تغییرات زیر را در فایل پیکربندی ~/.profile اعمال کنید:
export DOCKER_BUILDKIT=1.
5. محدودیت منابع را تنظیم کنید
هنگامی که باطن WSL 2 را با Docker Desktop ادغام می کنید، به Docker اجازه دسترسی به تمام منابع CPU خود را می دهید. انجام این کار به بهبود عملکرد ظروف با منابع سنگین کمک می کند.
با این حال، در برخی موارد، یک کانتینر ممکن است حافظه اضافی زیادی را به خود اختصاص دهد و باعث از کار افتادن فرآیندهای حیاتی سیستم عامل شود. هنگام استفاده از کانتینرهای پایگاه داده یا یک میکروسرویس کش، احتمال بیشتری وجود دارد که این مورد را تجربه کنید.
خوشبختانه، می توانید کانتینرهای Docker را برای محدود کردن حافظه سیستم و استفاده از CPU پیکربندی کنید. هنگام پیکربندی حافظه سیستم همیشه باید مراقب باشید، حتی یک اشتباه جزئی می تواند عواقب قابل توجهی داشته باشد. برای راهنمایی دقیق تر در مورد محدود کردن حافظه و منابع CPU مصرف شده توسط کانتینر داکر می توانید به مستندات رسمی Docker مراجعه کنید.
6. حافظه پنهان را بازیابی کنید
اگر یک کانتینر Docker را در WSL 2 اجرا می کنید، پس از پایان کانتینر، حافظه آن باید آزاد شود. متأسفانه، هسته سیستم عامل تمایل دارد داده ها را در حافظه پنهان نگه دارد. این بدان معنی است که حافظه موثر بازیابی شده توسط WSL 2 کافی نخواهد بود.
با اجرای دستور زیر از طریق root در WSL 2 می توانید تمام حافظه هایی را که به طور غیر ضروری به عنوان کش استفاده می شود بازیابی کنید:
echo 1 > /proc/sys/vm/drop_caches
با WSL 2 هوشمندتر شوید
WSL 2 بهترین ویژگی برای توسعه دهندگان مبتنی بر ویندوز است که نحوه استفاده توسعه دهندگان از Docker را کاملاً تغییر می دهد. توسعه دهندگان باید بهترین شیوه های استفاده از Docker با WSL را برای بهبود عملکرد، امنیت و انعطاف پذیری گردش کار درک کنند.