از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه اول دوره Docker و Kubernetes، مدرس به عنوان مقدمهای برای دوره معرفی میشود. او ابتدا به دلایل از دست دادن دوره قبلی اشاره میکند و اعلام میکند که دوره را دوباره ضبط میکند. سپس به توضیح مفهوم Docker میپردازد و با مقایسه آن با فناوریهای مشابه مانند ویرچوال ماشین، تفاوتهای آن را توضیح میدهد. همچنین به اهمیت استفاده از Docker در جهان فناوری و نیاز به یادگیری آن اشاره میکند. در پایان اعلام میکند که در جلسه بعدی به نصب و راهاندازی Docker و ارائه یک پروژه واقعی میپردازد.
نکات کلیدی
داکر یک پلتفرم است که امکان ایزوله کردن اپلیکیشنها در محیطی به نام کانتینر را فراهم میکند.
داکر با استفاده از فایلهای دستورالعمل (Dockerfile) و ایمیجها، اپلیکیشنها را به صورت استاندارد و سبک اجرا میکند.
در جلسه بعدی به نصب و راهاندازی Docker و ارائه یک پروژه واقعی میپردازیم.
در این جلسه به مقدمه دوره Docker و Kubernetes پرداخته شده است.
متن ویدیو
متن زمانبندیشده این جلسه برای مرور، جستجو و دسترسی سریعتر.
سلام عرض میکنم خدمت دوستان عزیز. خب ما قبلاً توی کانالمون یه دوره برای
داکر ضبط کرده بودیم. تقریباً ۳۰ قسمتم
ضبط کرده بودیم. متأسفانه
من تمام فایلای اون دوره رو از دست دادم.
یعنی برای اتفاقی که برای سیستمم افتاده
بود و بالاجبار من این دوره رو دارم
دوباره ضبط میکنم. دوستانی که اون دوره
قبلیو تا قسمت ۳۰ دیده بودن میتونن این
دوره رو دوباره تقریباً همون قسمت ادامه
بدن. حالا یه یکی دو قسمت شاید بالا پایین
شده باشه ولی همون دورهست فقط من مجبور
شدم که دوباره ضبطش کنم.
خب بریم شروع بکنیم. این مقدمه رو گفتم که
دوستانی که این دوره رو شروع میکنن دوره
قبلیو دیده بودن نیاز نیست از ابتدا شروع
کنن.
خب ما قراره راجع به داکر صحبت بکنیم. این
روزا خیلی ترنده و تقریباً همه دارن ازش
استفاده میکنن و واقعاًهم لازمه.
بریم اول شروع کنیم با اینکه اصلا داکل
چیه و به چه دردی میخوره. یه مقایسه بکنیم
با بقیه تکنولوژیهای مشابهی که داره و
بریم جلو. خب اجازه بدید بریم دوباره برای
اینکه من یه ذره از نوشتن راحت بشم بریم
سراغ
جمنای و از جمنای بپرسیم که داکر چیه.
و من رو توضیحاتی که درق جمنایی میده توضیح بدم خدمتتون.
خب ببینیم داکر چه توضیحاتی داده بهمون. میگه
داکر یک پلتفرم که به شما این امکان رو
میده خب که پکیج شیپ و ران اپلیکیشن
بهتون میگم یعنی چی تو یک محیط ایزوله به
نام کانتینر داشته باشید یعنی چی؟ یعنی
شما بخواهید یک اپلیکیشنی رو تو یک محیط
کاملاً ایزولهر
با تمام نیازمندیاش داشته باشید و ران
کنید اون اپلیکیشنو و دیگه دغدغهای
نداشته باشید که اون محیطی که من قراره
اپلیکیشنمو ران کنم آیا نیازمندی اپلیکیشن
من رو دارد یا ندارد چرا چون این همراه
خودش همه چیو داره
میگه به یه شیپینگ کانتینر فکر کنید
بذار من این عکس شیپینگ کانتینر بهتون چون
نمیدونم منظورش چیه
بینم یه همچین چیزی دقیقاً همون مفهوم کانتینری که همهمون میشناسیم خب میگه ب
یه همچین چیزی شما فکر کنید ولی
نرمافزاریشو فکر کنید خب
میگه که قبل از اینکه در حقیقت این
کانتینرا وجود داشته باشن جابهجایی کالا
خیلی کار سخت و
پردرسری بود خب شما باید نگران خیلی چیزا
میبودید مثلاً
دقیقاً سایز و ظاهر و شکل و شمایل اون
وسایلی که قراره جابهجا بکنید و البته
نیازمندیهای مختلفی که دارن مثلاً امکان
داره گوشت یه نیازمندی داشته باشه
جابهجاییش مثلاً چه میدونم مایع لباسشویی
یه نیازمندی
میگه که این کانتنرا اومدن چیکار کردن این
فراآیند رو استاندارد کردن فارغ از اینکه
داخلشون چی چی باشه
و شما در این کانتینررو میتونید به یه در حقیقت با یه استانداردی جابهجا
بکنید و بدونید که نگران باشید که اصلاً
داخلش چی هستش.
میگه داکر دقیقاً داره همچین کاری برای ما
میکنه.
میگه که میاد چیکار میکنه؟ اون نرمافزار رو با هر چیزی که لازم داره برای اجرا
شدن.
مثل چی؟ مثلاً مثل خود اون کد اون
نرمافزار
ابزارهایی که لازم داره و کتابخونههایی
که لازم داره همه رو میاد ورپ میکنه
یه بسته بندی میکنه خب و در حقیقت این
بسته بندی رو شما میتونید هر جایی اجرا
بکنید و نگران این نیستید که در حقیقت
اونجایی که دارید اجرا میکنید آیا
نیازمندیهای برنامه شما رو دارند یا
ندارد.
خب این پس یه توضیح اولیه پس ما تا اینجا
فهمیدیم که داکر
یک تکنولوژی مبتنی بر کانتینره
که میاد چیکار میکنه؟ یه پکیجی رو ایجاد میکنه از اون سورس نرمافزار
نیازمندیهاش و ابزارایی که لازم داره و
دیگه ما دغدغه اینو نداریم که قرار باشه
این نرمافزارو جایی اجرا بکنیم آیا
نیازمندیاشو دارد یا ندارد.
خب بیایم یه ذره پایینتر ببینیم چی گفته
دیگه
مفاهیم درق هسته اون داک رو داره میگه که حالا ما جلوتر مفصل راجع به این صحبت
خواهیم کرد داکر فایل چیه میگه داکر فایل
یه رسپیه یه دستورالعمله
که در حقیقت به ما میگه که این کانتینر
قراره چهجوری ساخته بشه و چه نیازمندهایی
داره
میگه یک دستورالعمل ساده است تکسته که به
شما نشون میده که چهجوری این اپلیکیشن
قراره ساخته بشه
مثلاً اینجا مثالشو زده گفته لینوکسو
استارت بزنید پایتونو نصب بکنید خود منو
کپی کنید و الی آخر حالا جلوتر میبینیم
مثالشو
ایمیج چیه توی بحث داکر مثل یه بلو پرینت
میمونه یه نسخه اولیه
میگه زمانی که شما فایل داکرو ران میکنید
ید اول میاد یه دونه ایمج درست میکنه
نسخه اولیه درست میکنه بلوپرینت
این یه دونه ریدونلیه یعنی اصلاً قالت رایت نداره یک تمپلت ریدونلی از اپلیکیشن
شما و نیرزمنیاشه
تا زمانی که شروع نکرده باشید این ایمیج رو عملاً هیچ
اثری نداره هیچ کار خاصی انجام نمیده
کانتینر چیه؟ مفهوم کانتینر حالا ما جلوتر بچهها اینا رو مفصل بهتون خواهم گفت الان
فکر میکنم ذهنتون آماده بشه میگه کانتینر
مثل یه خونهست
میگه زمانی که شما یک ایمجو ران میکنید
تبدیل میشه به یه کانتینر
و یک محیط لایوه که داره اپلیکیشن شما
داخلش ران میشه
بریم جلوتر یه مقایسهای کرده بین داکر و ویرچوال
ماشین میگه که خب ما ویلچول ماشینو قبلاً
داشتیم که همین کارو میکرده چرا ما باید
بریم سراغ داکر؟
میگه که ویرچوال ماشین میاد کل کامپیوتر رو شبیهسازی میکنه، امولیت میکنه
شامل کل اون سیستم عامل برای هر اپلیکیشن
که این باعث چه اتفاقی میشه بچهها؟ خب
سنگین میشه دیگه مثلاً من میخوام یه دونه
پایتون ران کنم چرا باید برم کلی اپلیکیشن
دیگههم ران کنم؟
اما کانترنر داکر خب
میاد اون در حقیقت ماشین او میزبان رو شیر میکنه کرنلشو
اما در حقیق یه حالت ایزوله داره
و باعث میشه که در حقیقت خیلی سبک باشه
نمیاد کل سیستم عامل رو در حقیقت
امولت بکنه شبیه سازی بکنه پس اصلیترین
تفاوتی که بین داکر و ویچور ماشین وجود
داره باث اینکه خب داکر خیلی سبکتره در
حد مگابایته ولی خب ما اینور ویچور ماشینی
داریم در حد گیگابایت
ویچورال ماشین چند دقیقه طول میکشه تو
بوت بشه ولی تاک تو چند ثانیه میاد بالا
ایزولیشن توی ویرچوال ماشین توی سطح سخت
افزاریه ولی اینور توی سطح اوه
و البته از لحاظ ایفیشنسی هم داکر خیلی در
حقیقتشنسی بالاتری داره بهخاطر اینکه میاد
منابع سیستام رو شیر میکنه ولی اینجا شما
باید یه سری منابع اختصاصی بهش بدید اگه
یادتون باشه توی ویژوال ماشین زمان که شما
میخواید ویژچوال ماشین بیارید بالا ابتدا
ازتون میپرسه میگه چقدر بهش رم و سی پیو
و هارد و این اختصاص بدم
اینجا دیگه یه سری توضیحات دیگه میده که به نظرم تکراریه
و
یه مثالی زد حالا رو با هم ببینیم بد نیست
میگه تصور کن شما میخواید یه دونه وب
سرور رام بکنید بدون داکر
میگه شما اول باید برید اینستالرشو دانلود
بکنید
بعد بیاید پسشو در حقیقت کانفیگ بکنید
پرمیشناشو من مدیریت بکنید
بعد باید امیدوار باشید که با بقیه
برنامهها کانفلیکتی نداشته باشه خب اما
توی داکر شما یه کامند میزنید داک ران دش
دی دش دی دش پی پرتاشو مشخص میکنید و
انجینکس حالا اینکه اینا چینو جلوتر
میبینیم بچهها
داکر میره ایمیج انجینیکسو که آماده هست
رو دانلود میکنه. حالا از کجا بهتون میگم
و بعد استارت میکنه
و شما یه دونه پر یه دونه انجین وب سرور
انجینیکس دارید که رو پورت ۸۰ اومده بالا
و میتونید باهاش کار بکنید دیگه دقیق
خیلی چیزا رو ندارید.
پس داکر در حقیقت شما رو از بابت نصب و مسائلی که مربوط به اینوامنت وجود داره
دور میکنه. خیالتونو راحت میکنه و فقط
شما فوکوستونو میذارید رو خود اون کدی که
قراره بنویسید.
خب این از مقدمهای که در رابطه با
داکر لازم بود بهتون بگم.
بریم بیایم جلسه بعدی بریم سراغ نصب داکر و راهاندازی داکر و بعدم یه مثال توی
داکر با همدیگه ببینیم. فعلاً خداحافظ.
‏Yeah.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
داکر یک پلتفرم است که امکان ایزوله کردن اپلیکیشنها در محیطی به نام کانتینر را فراهم میکند.
داکر به دلیل امکان اجرای اپلیکیشنها به صورت استاندارد و سبک در محیطهای مختلف، در جهان فناوری بسیار مهم است.
در جلسه بعدی به نصب و راهاندازی Docker و ارائه یک پروژه واقعی میپردازیم.
آخرین بهروزرسانی محتوای متنی:
در این دورهی عملی و مرحلهبهمرحله، Docker و Kubernetes را از پایه تا سطح قابلاستفاده در پروژههای واقعی یاد میگیرید. از ساخت Image و اجرای Container شروع میکنیم، بعد سراغ Volumeها و مدیریت داده، Networking بین کانتینرها، ساخت اپهای چندکانتینری و Docker Compose میرویم. سپس با یک پروژه واقعی Laravel + PHP محیط توسعه/اجرا را داکرایز میکنیم، روشهای دیپلوی کانتینرها را بررسی میکنیم و در نهایت وارد Kubernetes میشویم: مفاهیم اصلی، مدیریت دیتا و Volume، شبکه در K8s و در پایان استقرار روی AWS EKS. این دوره مناسب چه کسانی است؟ برنامهنویسها و تیمهای بکاند/فرانت که میخواهند محیط اجرا و دیپلوی استاندارد داشته باشند افراد علاقهمند به DevOps و Cloud کسانی که Docker را شروع کردهاند ولی Kubernetes و Deploy را جدی میخواهند پیشنیازها: آشنایی مقدماتی با ترمینال (Linux/Windows) و مفاهیم کلی وب/اپلیکیشن (کافی است). سرفصلها (طبق دوره) Docker Images & Containers (مبانی اصلی) Managing Data & Volumes (مدیریت داده و پایداری) Docker Networking (ارتباط بین کانتینرها) Multi-Container Apps (ساخت اپ چندکانتینری) Docker Compose (ارکستریشن ساده و حرفهای) Utility Containers & Exec Commands پروژه عملی: Dockerize کردن Laravel + PHP Deploying Docker Containers جمعبندی Docker & Containers شروع Kubernetes Kubernetes Core Concepts (عملی و عمیق) Data & Volumes در Kubernetes Kubernetes Networking Deployment روی AWS EKS 📌 اگر این دوره به کارت اومد، حتماً Subscribe کن و سوالهات رو توی کامنتها بپرس تا پاسخ بدم.