پرووید
منو

آموزش استفاده از داکر (Docker) در توسعه نرم افزار

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: متوسطمدت زمان: 02:20:48تعداد ویدئوها: 40فایل های پروژه: ناموجود
قیمت:۳٬۶۹۹٬۰۰۰ تومان
این آموزش بخشی از پکیج کامل آموزش داکر (Docker) است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش استفاده از داکر (Docker) در توسعه نرم افزار یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشیContainerize کردن یک نرم افزار با داکر (Docker) است که با نام اصلی Containerizing a Software Application with Docker از شرکت Pluralsight منتشر شده است.

چرا از Docker Container ها استفاده می‌کنیم؟

زمانی که کاربران با یک نرم افزار ارتباط برقرار می‌کنند، اغلب پیچیدگی های مختلفی که در پشت پرده یک نرم‌افزار وجود دارد، از دید آنها مخفی می شود. به عبارت دیگر کاربران با واسط کاربری، ارتباط برقرار می‌کنند حال آنکه برنامه پشت پرده از لایه ها، کتابخانه‌ها و کد ها و framework های مختلفی ایجاد شده است،که با همکاری یکدیگر تجربه کاربری مناسبی را در اختیار کاربر قرار می دهد. نکته مهمی که در رابطه با توسعه نرم‌افزار، در دنیای امروز وجود دارد این است که استقرار و یا deploy کردن و همچنین تست کردن نرم افزار، به چالشی جدی تبدیل شده است. ایجاد کردن یک نرم افزار موفق دیگر شبیه به گذشته، که در آن فقط بخش هایی از کد کامپایل می شد، و اجرا می شد، نمی باشد. به عبارت دیگر برای توسعه نرم‌افزار موفق، می بایست عناصر تشکیل دهنده مختلف نرم‌افزار، به درستی پیکربندی و همچنین تست بگردد.

Committing a Container to an Image - نمونه ای از بخش Committing Containers to Images در آموزش استفاده از داکر (Docker) در توسعه نرم افزار
نمونه ای از بخش «Committing Containers to Images» در آموزش استفاده از داکر (Docker) در توسعه نرم افزار
استفاده کردن از Docker Container ها چه مزیت هایی را در اختیار ما قرار می دهند؟

اول باید یدانید که container ها کمک می کنند تا توسعه‌دهندگان نرم‌افزار بتوانند محتوای اپلیکیشن خود را بسته بندی و یا package کرده و آنها را در قالب یک بسته تک منتشر کنند. به عبارت دیگر تمامی اجزای تشکیل دهنده یک نرم افزار از قبیل؛ کتابخانه ها و کد ها وابستگی ها و یا dependency های مختلف، در یک پکیج تک قرار می‌گیرند. پس از انجام این کار، نرم افزار مورد نظر می تواند بدون نیاز به نصب شدن وابستگی ها و dependency های مختلف در سیستم مقصد قرار بگیرد. این موضوع بدان دلیل است که تمام آنچه که یک نرم‌افزار به آن قرار دارد، در container خود آن نرم افزار، قرار گرفته است. این موضوع توسط داکر امکان پذیر می شود. با استفاده از داکر و container ها برنامه نویسان می توانند با اطمینان خاطر، اقدام به انتشار نرم‌افزارهای خود کنند.

تفاوت Docker Container ها و ماشین های مجازی

تفاوت مهمی بین container ها در داکر و مفهوم ماشین های مجازی وجود دارد. یکی از مهمترین تفاوت های یک container و یک ماشین مجازی در این است که container ها نیاز به نصب شدن یک سیستم عامل جداگانه در سیستم میزبان ندارند. به عبارت دیگر این container ها می‌توانند به طور مستقیم بر روی سیستم عاملی که در حال حاضر بر روی ماشین مقصد نصب شده است، اجرا شوند. این موضوع باعث می‌شود تا استفاده کردن از container ها و استقرار آنها در ماشین مقصد سریعتر انجام گردد.

Module Overview - نمونه ای از بخش Authoring Docker Images with Dockerfiles در آموزش استفاده از داکر (Docker) در توسعه نرم افزار
نمونه ای از بخش «Authoring Docker Images with Dockerfiles» در آموزش استفاده از داکر (Docker) در توسعه نرم افزار

علاوه بر این موضوع container ها در داکر بسیار کم حجم تر از ماشین‌های مجازی هستند. همین موضوع باعث می‌شود تا استفاده کردن از container ها ساده تر شود و آنها قابلیت تحمل پذیری و یا portability بالاتری را در اختیار برنامه نویسان قرار بدهند. آزمایش‌های مختلف نشان می‌دهد که اپلیکیشن هایی که با استفاده از container های موجود در داکر deploy شده اند performance و کارایی بهتری را نشان می دهند.

ساخت Docker Image با Dockerfile و مدیریت لایه‌ها

در آموزش Containerizing a Software Application with Docker، تمرکز اصلی بر تبدیل اجزای موردنیاز یک نرم‌افزار به Docker Image قابل اجراست. ابتدا با مفهوم Image و ارتباط آن با Container آشنا می‌شوید و سپس روش ساخت Image از طریق Dockerfile را دنبال می‌کنید. این رویکرد به شما اجازه می‌دهد مراحل آماده‌سازی محیط اجرا را در قالب دستورالعمل‌های مشخص ثبت کنید، به‌جای اینکه تنظیمات لازم را هر بار به‌صورت دستی انجام دهید. مثال ساخت Image برای Nginx نیز این فرایند را در مورد یک وب‌سرور ملموس می‌کند.

ساختار لایه‌ای Imageها روی اندازه نهایی و نحوه استفاده مجدد از بخش‌های ساخته‌شده تأثیر می‌گذارد. به همین دلیل، آموزش رابطه میان لایه‌ها و حجم Image، استفاده از Build Cache و مفهوم Flat کردن Imageها را در بر می‌گیرد. همچنین با Commit کردن یک Container به Image آشنا می‌شوید تا تفاوت میان ایجاد Image از تغییرات یک Container و تعریف ساختار آن از طریق Dockerfile روشن‌تر شود. این موضوعات برای توسعه‌دهندگانی مهم هستند که می‌خواهند Imageهایی قابل تکرار بسازند و هزینه زمانی و فضای موردنیاز برای ساخت و نگهداری آن‌ها را بهتر مدیریت کنند.

تنظیم Image برای محیط‌های مختلف و انتشار در Registry

یک Docker Image فقط شامل فایل‌های برنامه نیست؛ دستور اجرای آن و تنظیمات محیط نیز در رفتار نهایی Container تأثیر دارند. در این آموزش با تعریف Environment Variableها، اضافه کردن Artifactها به Image و استفاده از دستور CMD آشنا می‌شوید. این مباحث به شما کمک می‌کنند فایل‌ها و تنظیمات موردنیاز را هنگام ساخت Image سازمان‌دهی کنید و نحوه شروع اجرای برنامه را مشخص سازید. همچنین بررسی Health مربوط به Container نشان می‌دهد که چگونه می‌توان وضعیت اجرای آن را در کنار مراحل ساخت و آماده‌سازی در نظر گرفت.

پس از آماده‌سازی Image، اضافه کردن Tag و Push کردن آن اهمیت پیدا می‌کند؛ زیرا برای انتشار و استفاده از نسخه‌های مختلف یک Image باید بتوان آن‌ها را به‌روشنی شناسایی کرد. در این آموزش، این مراحل در کنار فرایند ساخت Image قرار می‌گیرند تا ارتباط میان آماده‌سازی نرم‌افزار و انتشار آن را درک کنید. مباحث مربوط به به‌تعویق انداختن اجرای دستورالعمل‌ها نیز به شناخت بهتر رفتار فرایند Build کمک می‌کنند. این دانش برای تیم‌هایی کاربرد دارد که می‌خواهند Imageهای برنامه را به‌صورت منظم بسازند، نسخه‌بندی کنند و در محیط‌های مختلف به کار بگیرند.

سرفصل مطالب آموزش ویدیویی استفاده از داکر (Docker) در توسعه نرم افزار

فصل اول: مقدمه دوره آموزشی
  • مقدمه دوره آموزشی
فصل دوم: دلیل اهمیت Docker Image ها
  • دلیل اهمیت Docker Image ها
فصل سوم: Commit کردن Container ها به Image ها
  • مقدمه
  • Commit کردن یک Container به یک Image
  • درک کردن آناتومی یک Image
  • ارتباط بین لایه ها و سایز یک Image
  • بررسی کردن تأثیر روش Copy-on-write
  • Flat کردن Image ها
  • Export کردن و Import کردن Container Filesystem ها
فصل چهارم: ساختن Docker Image ها
  • مقدمه
  • ساختن Docker Image ها
  • ایجاد کردن یک Build Context
  • معرفی کردن Dockerfile
  • بررسی Build Cache
  • استفاده کردن از Build Cache
  • جمع بندی
فصل پنجم: ساختن Docker Image ها با استفاده از Dockerfile
  • مقدمه
  • استفاده کردن از یک Base Image
  • تعریف کردن Environment Variable ها
  • اجرا کردن Command ها برای ساختن محتوا
  • اضافه کردن Artifact ها به Image ها
  • تنظیم کردن Command های مورد نیاز برای اجرا شدن
  • استفاده کردن از CMD
  • دستورالعمل های CMD و ENTRYPOINT
  • بررسی کردن سلامتی مربوط به Container ها
  • تعریف کردن و استفاده کردن از دستورالعمل HEALTHCHECK
  • به تعویق انداختن اجرا شدن دستورالعمل ها
  • اضافه کردن Meta Data به Image ها
فصل ششم: ساختن یک Docker Image برای Nginx
  • مقدمه
  • برنامه ریزی کردن محتوای یک Image
  • ساختن یک Dockerfile برای Image
  • استفاده کردن از Multi-stage Image ها
  • اعمال کردن یک Multi-stage Image Build برای Image
  • جمع بندی
فصل هفتم: اضافه کردن Tag و Push کردن Image ها
  • مقدمه
  • معرفی کردن Docker Registrie ها و Docker Repository ها
  • بررسی کردن یک نام کامل و یا Fully Qualified Name برای Docker Image
  • اضافه کردن Tag به Docker Image ها به همراه نام
  • Push کردن Docker Image ها به Registry ها
  • اضافه کردن Tag به یک Docker Image و Push کردن آن به Docker Hub Registry
  • جمع بندی
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.