از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 13 آموزش جامع Docker و Kubernetes، مدرس به مسئله از بین رفتن دیتا پس از حذف کانتینر پرداخته و راه حل آن با استفاده از 'والیوم' در داکر ارائه میدهد. در این جلسه، توضیح داده میشود که چگونه با استفاده از والیوم، دیتا در فولدری روی سیستم میزبان ذخیره شده و پس از حذف کانتینر، دیتا همچنان موجود باقی میماند. همچنین، تفاوت بین 'انانومس والیوم' و 'نیم والیوم' توضیح داده میشود و نحوه استفاده از نیم والیوم برای حفظ دیتا پس از حذف کانتینر نیز آموزش داده میشود.
این اولین درس دوره است.
درس بعدی
آموزش جامع Docker و Kubernetes از مبتدی تا پیشرفته به همراه پروژه واقعی - جلسه 12
←نکات کلیدی
استفاده از والیوم در داکر برای حفظ دیتا پس از حذف کانتینر
تفاوت بین انانومس والیوم و نیم والیوم در ذخیره دیتا
نیم والیوم میتواند برای حفظ دیتا پس از حذف کانتینر استفاده شود
دیتا با استفاده از والیوم در فولدر سیستم میزبان ذخیره میشود
متن ویدیو
متن زمانبندیشده این جلسه برای مرور، جستجو و دسترسی سریعتر.
سلام عرض میکنم خدمت دوستان عزیز. بریم سراغ ادامه بحثمون. جلسه قبلی ما به یه
مشکلی خوردیم. اونم این بود که دیتاون بعد
از اینکه کانتینر رو استاپ میکردیم و
کانتینر حذف میشد دیتاونم پاک میشد.
اما راه حل این مشکل چیه؟ ما چهجوری
میتونیم این مشکلو حلش بکنیم؟ استفاده از
والیومه.
ما یه ابزاری داریم داخل
در حقیقت
داکر به نام والیوم والیومه چیکار میکنه
میاد یک قسمتی از در حقیقت
اون کانتینر شما رو مانتش میکنه به یک فولدری داخل اون سیستم خودتون یعنی انگار
د تا فولدررو به هم وصل میکنن تو یه
فولدر تو کانتنت یه فولدر سیستم شما هر
دیتایی که داخل اون فولدر کانتینر ریخته
بشه کپی میشه داخل اون فولدره داخل هاست
شما
کانتنرتونم پاک بشه اون محتویات فولدر شما
رو سیستم شما پاک نمیشه بعداً دوباره
میتونید کانتنر جدیدو مانتش بکنید به
همون فولدر و بره دیتا رو از اونجا بخونه
این قراره کاری بکنه که والیوم این کارو
برای ما انجام بده
خب بریم پیادهسازی والیومو با هم ببینیم
و اینکه که
دقیقاً قراره چهجوری مشکل ما رو حل بکنه.
من ب پروژه رو باز کنم فقط.
من همچنان صدام بچهها اوکی نیست.
عذرخواهی میکنم
هنوز روبهرو نشده صدا. خب
برای پیاده سازی والیوم من اول یه مسیری
رو میرم و به مشکل میخوریم. میخوام مشکلو
ببینید بعد اون راهحال اصلیه رو بهتون
بگم.
برای پیادهسازی والیوم میام چیکار
میکنیم؟
من میخوام که این فولدر فیدبکم وصل بشه
به یه فولدری توی سیستمم. خب
بعد از این اکسپوز میام مینویسم والیوم
وصلش بکن به یه فولدری روی سیستمم اون فولدرم بچهها خودش تشخیص میده کجای
سیستمم باشه خب من فعلاً نمیتونم کاریش
بکنم
خب خب بریم اول لیست ایمجامو ببینم
خب
لیست کانتنرامم ببینم
خب باید کانتنر ریمووش کنم خب میخوام یه ذره
کامنم دوره کنیم با همدیگه ایمیارم یه
ریموو بکنم
همتونید اسمشو بذارید هم آیدیشو فرق نمیکنه خب دیگه الان نباید ایمیجی داشته
باشم
حالا بریم یه دونه ایمج بسازیم بر ممومی که دیزاین کردیم داخل در حقیقت ایم داکر
فایلمون ببینیم چهجوری میتونیم ازش
استفاده کنیم داکر
فیل دش تی ایکس براش میذارم فیدبک
نوت تگ والیوم میزنم که بعداً بذاریم با
والیومه
خب این رفت که در حق کاراشو انجام بده
دش تش آر ان میذارم که استاش کردم حذف بشه یه اس براش میذارم
فید بک در دو نقطه والیومز
اسم ایمیجمو چی گذاشتم اجازه بدید
والیوم چی گذاشتم اوکی خواستم اینو مطمئن شم فقط خب کانتنرمونو بسازه کانتنرمون
ساخته شد خب
الان داک پی اس
کانتنرمونم رانه بدون مشکل داره کار
میکنه. خب
دس از تست خب این رفت داره لودینگ گیر کرد یه خطایی
داد بچهها
یه خطایی داد بریم ببینیم خطایی چیه
برای دیدن خطا میایم چیکار میکنیم؟ لاگ کانتنررو نگاه میکنیم داکر لاگز
فیدبک اپ
اینه مال بحث چیزه
نوت ج اس این میخواد کاری که میکرد این بود که میاد از اون
تایتلی که من میزدم توی پر اپ یه نسخه
مینداخت خ توی تمپ بعد از تمپ یه کپی
میکرد مینداخت تو فیدبک
الان چون باید بره دو جا کپی بکنه علاوه
بر فیدبک یه جام باید بره سیستم من کپی
بکنه ولی اجازه این کارو نداره پرمیشن
نداره که بخواد این کارو بکنه بعد یه
تغییری توی کدم بدم به جای رینیم
میزارم کپی فایل مشکل حل بشه
اصلاً ربطی بچهها به درسمون ندارهها خیلی
دغدقتون نشه الان این چیه
خب این مشکلمونو حل میکنم بیایم اینجا
کانتینر دارم بله بذار اینو یه استاپش بکنم
خودش ریموو میشه استاپشون آر ام زده بودم
براش
خب اوکی شد ایمیجمونم باید دوباره بسازیم
خب اینم از این یه بار دیگه از اول دوباره اینتمو میسازم م بعد
داکر بیلد دش تی فیدبک دش
دو نقطه
والیومز
این نقطهش بز
خب ایمجمو دوباره ساخت میرم دوباره
در حقیقت کانتینرمو بسازم یه بار قبلاً
کاهندشو زدم دوباره میام بالا پیداش کنم
ایناش
خب کانتنرمم ساخته شد دوباره میام تو پروژه یه رفرش میدم اوکیه این دفعه سیو
میکنم الان کار کرد بریم فیدبکمونم
ببینیم
اینم که سر جاش خب حالا همون سناریویی که یه بار قبلاً پیادهسازی کردیم رو بیایم
پیادهسازی بکنیم تا کانتنرمونو استاپ
کنیم خب خب
وقتی حسابش کنم این چون آر ام داره پاک میشه درسته و میام دوباره رانش میکنم
انتظار دارم چون والیوم دارم دیتا پاک
نشده باشه ببینیم آیا اینجوریه
نه دیتا پاکت خب پس این والیومی که
گذاشتیم به چه دردی میخوره
والیومی که بچهها ما الان استفاده کردیم بهش بهش میگن انانومس والیوم ما دو مدل
والیوم داریم یکی انانومس داریم یعنی
ناشناس
یه دونه هم داریم نیمد والیوم یعنی اس
براش میذاریم
انانومس والیوم خاصیتش اینه که دیتای شما
رو میاره روی یه فولدر روی سیستم شما
ذخیره میکنن اما
تا زمانی این کارو این دیتا رو نگه
میداره که والیوم شما هست ببخشید کانتنر
شما هست یعنی کانتنر از بین بره اونم
پریده
یه سری مصارف خاص داره اما نیم والیوم
اینجوری نیست نیم والیوم
دیتای شما با پریدن کانتینر از بین نمیره
بریم نیم والیومو پیادهسازی بکنیم
قبلش من یه چیز نشونتون بدم
داک والیوم ال اس لیست والیوما رو نشون میده
این همون والیومی که الان در حقیقت وجود
داره
و همون آنالومس والیوم هست که ساخته شده
حالا من اگه بیام داکر استاپ بزنم کانتینرمو استاپ کنم
میبینید این والیومی که ساخته شده از بین میره چرا چرا انالونس والیومه
بودنش منوس به بودن کانتینره پس این به
درد ما نمیخوره. باید بریم سراغ نیم
والیوم و نیم والیوم استفاده بکنیم که
کانتنرمون که میره اون از بین نره.
خب برای این کار اینو باید پاک کنید. چون
اینو پاک کردم باید برم ایمیجمم پاک کنم.
ایمجمم از اینجا سریع پاک میکنم که دیگه
معظم نشه.
خب ایمیجمو دوباره میسازم.
خب حالا میخوایم بریم کانتینر بسازیم این دفعه با نیمد والیوم نیم والیوم وقتی
میخوایم بسازیم والیومو تو همون زمان که
کانتنرو داریم تعریف میکنیم مشخص میکنیم
خب
ببخشید بچهها من واقعاً صدا مگه خوب نیست
خیلی عذرخواهی میکنم خب
میایم اینجا مینویس نیسم داکر
رام دشت بذار اصلا چرا مینویسم بود دیگه
قبلاً کامندش بود ایناش فقط باید اینجا
والیو مشخص بکنم
بعد از اسم
یه دونه دش وی میذارم یعنی میخوام والیوم
مشخص کنم یه اس براش میذارم فیدبک
دو نقطه اون جایی که توی کانتینره
میگم اینو رو مونتش بکن به یه جایی رو سیستم خودم اسمشم بذار فیدبک
چون اس گذاشتم این دیگه هست پاک نمیشه
این والیوممه اسمش شده فیدبک خب حالا اگر کانتنرمم استاپ بکنم
و هیچ مشکلی براش پیش نمیاد اینجا نگاه
کنید
این دونه کار میکنید اسمشو میزنم یه دونه فایل درستم تستز
ف تست بیت والیوم
خب
اسلش فیدبک حالا بریم کانتینرمونو
استاپ کنیم
وقتی استاپش بکنم طبیعتاً والیومم پاک
میشه دیگه درسته
والیومم سر جاشو پاک نشده کانتنرو دوباره رو همون
والیوم فیدبک میارم بالا
اینو رفرش بدم نباید پاک شده باشه و پاک نشده سر جاشه این میشه کمکی که در حقیق
والیوم به ما میکنه خب بریم بیایم جلسه
بدیم سراغ یک روش دیگه به جای والیوم و
اونم قراره همین کمکو به ما بکنه فعلاً
خداحافظ.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
با استفاده از 'والیوم' در داکر، دیتا در فولدری روی سیستم میزبان ذخیره میشود و پس از حذف کانتینر، دیتا همچنان موجود باقی میماند.
انانومس والیوم به یک فولدر خاص در سیستم میزبان اشاره دارد، در حالی که نیم والیوم به یک فولدر خاص در سیستم میزبان اشاره دارد و میتواند برای حفظ دیتا پس از حذف کانتینر استفاده شود.
نیم والیوم میتواند با تعیین مسیر فولدر در سیستم میزبان استفاده شود تا دیتا پس از حذف کانتینر حفظ شود.
آخرین بهروزرسانی محتوای متنی:
در این دورهی عملی و مرحلهبهمرحله، 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 کن و سوالهات رو توی کامنتها بپرس تا پاسخ بدم.