به طور خلاصه، داکر یک سرویس مدیریت کانتینر (Container) است. Docker در هر مکانی توسعه، ارسال و اجرا میشود. ایده کامل Docker این است که توسعه دهندگان بهراحتی برنامههای کاربردی را توسعه دهند، آنها را به محفظههایی بفرستند که میتوانند در هر مکان مستقر شوند.
عرضه اولیه Docker در مارس 2013 بود و از آن زمان به کلیدواژه توسعه مدرن جهان، بهویژه در مواجهه با پروژههای مبتنی بر Agile تبدیل شده است.
در آموزش داکر مبانی اولیه Containerization بیان میشود و مباحث ارائه شده، به شما کمک میکند تا به درک کاملی از این مفهوم دست پیدا کنید. سپس با مفاهیم docker آشنا میشوید و یاد میگیرید که چطور از docker برای بهبود عملکرد سیستم و مدیریت نرمافزارها استفاده کنید. Docker، فرایند مجازیسازی و عملکرد بسیار بهتری ازVirtual Machineها دارد و جزء دسته میکرو سرویسها محسوب میشود. با استفاده از Docker میتوان نرمافزار را بدون وابستگی به سیستمعامل اجرا کرد. همچنین، با استفاده از قابلیت swarm، میتوان علاوه بر ایجاد پایداری سیستم، میزان load سرورها را نیز مدیریت کرد. شاید بتوان به صورت خلاصه گفت، با استفاده ازdocker:
- نرمافزار رو بساز
- انتقال بده و اجرا کن!
هدف از آموزش داکر
- آشنایی با مفاهیم میکروسرویسها و containerization
- انتقال و تبدیل نرمافزارها به میکروسرویسها
- ایجاد high availability برای سرویسها
- ایجاد نرمافزارهای light weight برای بهینهسازی مصرف منابع سیستمی
- پیشزمینهای برای آشنایی و کار با Kubernetes
دوره آموزش Docker مناسب چه کسانی است؟
Docker ابزاری بسیار مناسبی برای کلیه برنامهنویسان و توسعهدهندگان است چرا که این امکان را میدهد که یک برنامه توسعهیافته را جدای از پلتفرم، در هر محیطی اجرا کنند. کانتینر این امکان را به برنامهنویسان میدهد تا یک برنامه را با تمام ماژولها و وابستگیها ایزوله سازی کرده و در سیستمعاملهای مختلف بدون هیچ مشکلی اجرا کند. بهعنوان یک مثال بارز یک توسعهدهنده PHP را در نظر بگیرید. او احتمالاً باید یک وب سرور را بر روی سیستم خود نصب کند همچنین نیاز به یک پایگاه داده MySQL دارد و اگر پروژه گسترش پیدا کند ممکن است نیاز به نصب چند ماژول اضافی برای PHP و تنظیمات مختلف داشته باشید.
- توسعه دهندگان نرمافزار، ادمینهای سرورها، مهندسان IT
- متخصصان و اپراتورهای شبکههای سلولی موبایل
- هرکسی که نیاز به ایجاد، اجرا و مدیریت نرمافزار بر روی سرورها را دارد.
مهارتهایی که بعد از فراگیری دوره آموزش داکر مقدماتی خواهید داشت؟
- آشنایی با ویژگیهای داکر
- آشنایی با مفاهیم میکروسرویسها و مباحث containerization
- استفاده از docker و میکروسرویسها برای پیادهسازی نرمافزار
- استفاده از Dockerfile (داکر فایل) و docker-compose برای ایجاد نرمافزارها در محیط UAT
- پیادهسازی سناریوهای docker swarm و High Availability
- اجرای نرمافزارهای مستقل از سیستمعامل بر روی محیطهای production
منابع، نرمافزارها، آزمون، استاندارد یا الزامات لازم
پیشنهاد میشود جهت یادگیری بهتر و موثرتر دورهی آموزش داکر حتما پیش از شروع نرمافزار داکر را را از وبسایت docs.docker.com دانلود نمایید و سپس اقدامات لازم جهت نصب داکر را با توجه به آموزش ارائه شده در فصل اول دوره انجام دهید.
آموزشهای پیشنیاز و یا مکملهای دوره آموزش Docker
یکی از نکاتی که پیش از شروع آموزش Docker باید به آن توجه کنید، آشنایی نسبی با مفاهیم سیستمعاملهای لینوکس است.
توضیح مختصری در مورد شیوه آموزش این دوره توسط استاد
از ویژگیهای مهم دورهی آموزش داکر که موجب به وجود آمدن تمایز در میان سایر دورههای آموزش داکر رایگان و یا آموزش به ازای پرداخت هزینه وجود دارد، میتوان به شیوههای استفاده شده در تدریس اشاره که دروس این دوره با تکیه بر تسلط زیادی که بر مفاهیم دارد، به ارائه مفاهیم به صورت کامل و با بیانی ساده به همراه، استفاده از شکلها، گرافها و اسلاید در جهت تفهیم بهتر و دقیقتر موضوعات و همچینین بیان مثال متنوع برای مباحث مطرح شده میپردازد.
وجود تمرینهای استاندارد و منطق با مباحث تدریس شده در دوره آموزشی، تعامل مدرس با دانشجویان دوره و پروژه پایانی نیز از دیگر مزیت های این دورهی آموزش داکر مکتبخونه میباشد.
سرفصلهای برجسته دوره آموزش داکر
فصل اول: معرفی و پیشزمینه
در این فصل با ویژگیهای مختلف داکر و مفاهیم اولیه آشنا شده و نحوه نصب داکر را بر روی لینوکس و ویندوز فرامیگیرید برخی از
ویژگیهای مهم داکر عبارتاند از:
- داکر این توانایی را دارد که با تهیه ردپای کوچکتر از سیستمعامل از طریق کانتینرها، اندازه توسعه را کاهش دهد.
- با استفاده از کانتینرها، کار یکپارچه در برنامهها برای تیمهای مختلف، از جمله توسعه، کیفیت و عملیات، آسانتر میشود.
- میتوانید کانتینرهای Docker را در هر مکان، روی هر ماشین فیزیکی و مجازی و حتی روی ابر مستقر کنید.
- از آنجاکه container داکر بسیار سبک وزن هستند، بهراحتی مقیاسپذیر میشوند.
فصل دوم: ایجاد آزمایشگاه لینوکس و Docker
DockerHub (داکرهاب) یک سرویس رجیستری در cloud است که به شما امکان میدهد تصاویر Docker را که توسط جوامع دیگر ساخته شدهاند بارگیری کنید. همچنین میتوانید image ساخته شده توسط Docker خود را در مرکز Docker بارگذاری کنید. در این فصل، نحوه بارگیری و استفاده از image Jenkins Docker از هاب داکر را مشاهده خواهیم کرد.
فصل سوم: معرفی و بررسی Containerها در Docker
کانتینرها نمونههایی از image Dockerها هستند که میتوانند با استفاده از دستور Docker run اجرا شوند. هدف اصلی داکر اجرای کانتینرها است.
اجرای یک کانتینر
اجرای کانتینرها با دستور Docker run مدیریت میشود. برای اجرای یک کانتینر در حالت تعاملی، ابتدا Docker container را راهاندازی کنید.
فصل چهارم: معرفی و بررسی Imageها در Docker و ساخت Imageها
در داکر، همه چیز بر اساس image است. image ترکیبی از یک سیستم فایل و پارامترها است.
فصل پنجم: بررسی مبحث Networking و DNS در Docker
Docker از جنبههای شبکه مراقبت میکند تا کانتینرها بتوانند با کانتینرهای دیگر و همچنین با Docker Host ارتباط برقرار کنند. اگر ifconfig را روی Docker Host (داکر هاست) انجام دهید، آداپتورDocker Ethernet را مشاهده خواهید کرد. این آداپتور هنگام نصب Docker بر روی Docker Host ایجاد میشود.
فصل ششم: ذخیرهسازی و مدیریت دادهها در Docker
Docker دارای چندین درایور ذخیرهسازی است که به آنها امکان میدهد با دستگاههای ذخیرهسازی اساسی کار کنند. جدول زیر درایورهای ذخیرهسازی مختلف را به همراه فناوری مورد استفاده برای درایورهای ذخیرهسازی نشان میدهد.
تکنولوژی درایور ذخیرهسازی
OverlayFS overlay or overlay2
AUFS aufs
Btrfs brtfs
Device Manager devicemanager
VFS vfs
ZFS zfs
فصل هفتم: معرفی و بررسی Docker Compose ابزاری برای اجرای چند Container
Docker Compose برای اجرای چندین کانتینر بهعنوان یک سرویس واحد استفاده میشود. بهعنوانمثال، فرض کنید شما یک برنامه کاربردی داشته باشید که به NGNIX و MySQL نیاز داشته باشد، میتوانید یک پرونده ایجاد کنید که هر دو محفظه را بهعنوان یک سرویس بدون نیاز به شروع جداگانه شروع کند.
در این فصل، نحوه کار با Docker Compose را خواهیم دید. سپس، همچنین چگونگی دریافت یک سرویس ساده با MySQL و NGNIX را که با استفاده از Docker Compose در حال اجرا است، بررسی خواهیم کرد.
فصل هشتم: معرفی Docker Swarm و ورود به دنیای Cloud
Docker Cloud سرویسی است که توسط Docker ارائه میشود و در آن میتوانید عملیات زیر را انجام دهید:
Nodes: میتوانید Docker Cloud را به ارائهدهندگان ابر موجود خود مانند Azure و AWS متصل کنید تا کانتینرها را در این محیطها بچرخانید.
Cloud Repository:Cloud مکانی را فراهم میکند که بتوانید مخازن خود را در آن ذخیره کنید.
Continuous Integration: با Github ارتباط برقرار کنید و یک خط لوله ادغام مداوم ایجاد کنید.
Application Deployment: استقرار و مقیاسبندی زیرساختها و کانتینرها.
Continuous Deployment: میتواند استقرارها را بهصورت خودکار انجام دهد.
فصل نهم: مثالهای کاربردی
در این فصل مثالهای کاربردی در خصوص تمامی مواردی که تاکنون آموزش داده شد مورد بررسی و اجرا قرار میگیرد.
فصل دهم: مقدمهای از Kubernetes
Kubernetes یک چارچوب تخصصی برای Docker Containerها است که با در اختیار قراردادن Containerها اعمال خاصی را میتواند انجام دهد. بهعنوانمثال، شما میتوانید دو سرویس داشته باشید – یک سرویس شامل nginx و mongoDB و یک سرویس دیگر حاوی nginx و redis. هر سرویس میتواند دارای یک IP یا نقطه سرویس باشد که توسط برنامههای دیگر قابل اتصال باشد. سپس Kubernetes برای مدیریت این سرویسها استفاده میشود.
صادق کریمی دانشآموخته کارشناسی ارشد رشته مهندسی سیستمهای مخابرات از دانشگاه امیرکبیر است.
وی اکنون در حوزه مخابرات سلولی فعالیت دارد و در حال حاضر در شرکت ایرانسل به عنوان مهندس آنالیز دادهها در حوزه امنیت شبکه فعالیت دارد و علاقهمند به استفاده از هوش مصنوعی و یادگیری ماشین در سیستمهای مخابراتی است. همچنین، ایشان در زمینه پیادهسازی میکروسرویسها و containerها با تمرکز بر نسل 5G شبکههای سلولی و Telco cloud فعالیت دارد.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.