آموزش Docker – مجموعه مقالات مجله فرادرس


کانتینرها برای بهبود امنیت، بازتولیدپذیری، و مقیاسپذیری در توسعه نرمافزار و علم داده بسیار مفید هستند. ظهور آنها به عنوان یکی از روندهای مهم فناوری امروز محسوب میشود. داکر (Docker) یک پلتفرم برای توسعه، توزیع و اجرای اپلیکیشنها درون کانتینرها محسوب میشود، بدین ترتیب داکر اساساً مترادف با کانتینرسازی است. اگر یک توسعهدهنده نرمافزار یا دانشمند داده هستید و یا میل دارید باشید، باید بدانید که داکر در آینده شغلی شما نقشی حیاتی خواهد داشت. بنابراین پیشنهاد میکنیم مجموعه مقالات آموزش Docker را که در ادامه معرفی کردهایم حتماً مطالعه کنید. لینک جامعترین مقاله آموزشی که تا کنون برای یادگیری Docker در مجله فرادرس منتشر شده در ادامه آمده است:
این مقاله با هدف آموزش رایگان Docker جهت آغاز به کار با این فناوری کانتینرسازی ارائه شده است. علاوه بر پرداختن به چیستی Docker و مباحث مرتبط با Containerها و Imageها، برای به دست آوردن تجربه عملی کار با Docker، نحوه داکریزه کردن (Dockerizing) و استقرار کاربردهای تحت وب سفارشی به صورت بومی و همچنین در فضای ابری به وسیله این فناوری کانتینربندی (Containerization | بستهبندی) هم شرح داده شده است. حتی در شرایطی که افراد هیچ گونه تجربه پیشین در خصوص استقرار نرم افزار به این روش نداشته باشند، همه نیازمندیها جهت شروع کار با Docker در این مقاله آموزشی تامین شدهاند. از این نوشتار میتوان به عنوان نقطه شروعی برای آموزش پیشرفته داکر استفاده کرد.
این مقاله به شما کمک میکند تا با کلیات مفاهیم داکر آشنا شوید. در این مقاله مفاهیم کانتینر، ماشین مجازی، ایمیج داکر، داکرفایل و رجیستری داکر را توضیح دادهایم. همچنین روش کدنویسی با داکر مورد بررسی قرار گرفته است.
در این نوشته برخی از اصطلاحات تخصصی اکوسیستم داکر در دو بخش اصطلاحهای مقدماتی و اصطلاحهای پیشرفته مورد بررسی قرار گرفتهاند. در بخش مقدماتی با عبارتهای پلتفرم داکر، موتور داکر، Daemon داکر، Volume-های داکر، رجیستری داکر، هاب داکر و ریپازیتوری داکر آشنا میشویم. در بخش پیشرفته نیز مفاهیمی همچون شبکهبندی داکر، داکر کامپوز، داکر سوارم و سرویسهای داکر معرفی شدهاند. همچنین در انتهای این مقاله فناوری Kubernetes توضیح داده شده است.
در این بخش از سری مقالات آموزش Docker به طور کامل در مورد «داکرفایلها» (Dockerfiles) توضیح داده شده است. در این مقاله میتوانید با دهها دستورالعمل داکرفایل که مورد بررسی قرار گرفتهاند، آشنا شوید. لیستی از دستورهای داکرفایل و توضیح آنها که در این مقاله مورد بررسی قرار گرفتهاند به شرح زیر است:
- FROM – یک ایمیج مبنا (والد) تعریف میکند.
- LABEL – متادیتا ارائه میکند و مکان مناسبی برای گنجاندن اطلاعات فراداده است.
- ENV – یک متغیر محیطی دائمی را تعیین میکند.
- RUN – یک دستور را اجرا میکند و یک لایه ایمیج ایجاد میکند. از آن برای نصب بستهها درون کانتینرها استفاده میشود.
- COPY – همه فایلها و دایرکتوریها را به کانتینر کپی میکند.
- ADD – فایلها و دایرکتوریها را به کانتینر کپی میکند و میتواند فایلهای محلی rar. را از حالت فشرده خارج کند.
- CMD – یک دستور و آرگومانهایی برای یک کانتینر اجرایی ارائه میکند. پارامترها میتوانند لغو شوند. تنها یک CMD میتواند وجود داشته باشد.
- WORKDIR – دایرکتوری کاری برای دستورالعملهایی که در ادامه میآید تعیین میشود.
- ARG – یک متغیر تعریف میکند که در زمان ساخت به داکر ارسال میشود.
- ENTRYPOINT – یک دستور و آرگومانهایی برای یک کانتینر اجرایی ارائه میکند. آرگومانها دائمی هستند.
- EXPOSE – یک پورت را باز (افشا) میکند.
- VOLUME – یک نقطه نصب دایرکتوری تعیین میکند که به دادههای دائمی دسترسی دارد و آنها را ذخیره میکند.
شما میتوانید با استفاده از دستورهای فوق تقریباً همه کارهای مورد نظرتان را با کانتینرهای داکر انجام دهید.
در این مقاله با روش افزایش سرعت چرخههای بیلد داکر و ایجاد ایمیجهای سبک آشنا میشویم. در واقع در این مقاله بررسی کردهایم که چگونه میتوانیم داکرفایلهای خود را طراحی کنیم که در زمان توسعه ایمیجها و دریافت کانتینرها در وقت خود صرفهجویی کنیم. از جمله سازوکارهایی که در این مقاله مورد بررسی قرار گرفتهاند شامل کش کردن، کاهش اندازه، بیلد های چندمرحلهای، dockerignore و بازبینی اندازه است.
در این بخش از این سلسله مطالب آموزشی نگاهی خواهیم داشت به 15 مورد از دستورهای داکر که هر توسعهدهندهای باید بداند. داکر دستورهای بسیار زیادی دارد. با این که صفحه مستندات داکر وسیع است؛ اما در نگاه اول سردرگمکننده به نظر میرسد. در این مقاله برخی دستورهای کلیدی که برای اجرای داکر مورد نیاز هستند را معرفی میکنیم. این دستورها در سه دسته دستورهای مرتبط با کانتینر، دستورهای مرتبط با ایمیج و دستورهای متفرقه دستهبندی شدهاند.
آموزش Docker (بخش ششم) — به زبان ساده
در این بخش از سری مقالات آموزش جامع داکر که در واقع بخش نهایی محسوب میشود به بررسی کاربرد دادهها در داکر میپردازیم. در این مطلب به طور خاص روی Volume-ها در داکر متمرکز شدهایم. از جمله مباحث مطرح شده در این مقاله روش کار با دادههای موقت و دادههای دائمی در کانتینرها، معرفی مفهوم «والیوم» (Volume)، روش ایجاد والیوم، دستورهای CLI در ارتباط با والیوم و کار با mount– یا volume– را مورد بررسی قرار دادهایم.
سخن پایانی
بدین ترتیب به پایان این مطلب با عنوان معرفی مجموعه مقالات آموزش جامع داکر در مجله فرادرس رسیدیم. داکر به عنوان نسل جدیدی از مفاهیم مجازیسازی سیستم عامل به روشی سبک و کارآمد، رفته رفته نقش و جایگاه واقعی خود را در صنعت نرمافزار کسب میکند و به طور قطع در آینده شاهد رشدی بهمراتب افزونتر خواهیم بود. البته داکر تنها فناوری کانتینرسازی اپلیکیشنها محسوب نمیشود؛ اما بیشک در ردیف یکم این فهرست قرار دارد و فاصله زیادی با رقبا ایجاد کرده است. دلیل این فاصله علاوه بر قدمت بیشتر داکر در عواملی همچون داشتن جامعه گستردهتر و عملکرد بالاتر آن نهفته است. در هر حال اگر در هر زمینهای از حوزه نرمافزار مشغول به کار هستید، پیشنهاد میکنیم مجموعه مقالات آموزشی فوق را مطالعه کنید.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزش های برنامه نویسی
- آموزش Docker (Docker) برای توسعه دهندگان
- مجموعه آموزش های مهندسی نرم افزار
- اکوسیستم داکر (Docker) — کامپوننت های رایج
- شبکه بندی و ارتباط ها در اکوسیستم داکر — راهنمای جامع
- زمان بندی و هماهنگی (Orchestration) در اکوسیستم داکر – راهنمای جامع
==