رویداد به پایان رسیده است!
ورکشاپ آموزش داکر در تاریخ پنج‌شنبه ۱ اسفند به پایان رسیده است. (جزئیات بیشتر)

رویدادهای زیر را به شما پیشنهاد می‌کنیم

ورکشاپ آموزش داکر

شروع:
پنج‌شنبه ۱ اسفند ۹۸ ۰۹:۰۰
پایان:
پنج‌شنبه ۱ اسفند ۹۸ ۱۳:۰۰
ورکشاپ آموزش داکر
مهلت ثبت‌نام برای این رویداد به پایان رسیده است.

پوستر همایش


انجمن علمی کامپیوتر خواچه نصیر برگزار می کند:

کارگاه علمی آموزش داکر Docker

پنجشنبه یکم اسفندماه 

دانشکده برق و کامپیوتر خواجه نصیر

سانس اول:‌ ساعت ۹ الی ۱۳

سانس دوم:‌ ساعت ۱۴ الی ۱۸

 

 

 

 

 


داکر چیست؟


داکر (Docker) یک پلتفرم متن باز است که بر مبنای سیستم‌عامل لینوکس راه‌اندازی شده است. البته اگر از سیستم‌عامل دیگری همانند ویندوز و مک استفاده کنید هم می‌توانید از داکر و قابلیت‌های آن بهرمند بشید.

 

داکر با استفاده از دو قابلیت مهم موجود در کرنل لینوکس به نام‌های Cgroups و Namespace امکانی را فراهم آورده است که پروسه‌ها و نرم‌افزارها به صورت مجزا در محیط کاملا ایزوله‌ای بر روی کرنل لینوکس راه‌اندازی شوند. به این محیط و بسته‌ی ایزوله، کانتینر (Container) می‌گویند. البته تا این‌جای کار سرویس داکر کار خاصی انجام نداده و این موضوع را تمامی Linux Containerها نیز دارا هستند. اما داکر امکانی را فراهم آورد که بتوان به راحتی با این قابلیت ارتباط برقرار کرده و از آن نهایت استفاده را کرد.

 

پس مشخص شد که داکر، امکانی را فراهم می‌کند که بتوان به راحتی با کانتینر‌ها کار کرد. داکر این امکان را فراهم می‌کند که بتوان نرم‌افزار و کدهایی که آماده شده است را با سرعت خیلی زیادی تست و در محیط عملیاتی (Production) استفاده کرد. داکر این زمان را به شدت کاهش می‌دهد و البته که کیفیت آن را نیز بالا خواهد برد. با استفاده از داکر به خوبی می‌توان مواردی که برای یک پروژه نیاز است را در کنار هم جمع‌آوری کرد و به صورت کامل آنها را در یک پکیج قرار داد. یعنی به اختصار هر آن چیزی که یک نرم‌افزار نیاز خواهد داشت اعم از پکیج‌های وابسته (Dependency Package) و کتابخانه‌های (library) مورد نیاز در یک کانتینر آماده خواهد شد و همواره همراه نرم‌افزار در هر محیط که نیاز به راه‌اندازی دارد منتقل خواهد شد. در کل، داکر یک سرویس بسیار مناسب و کارآمد برای استفاده در محیط‌های راه‌اندازی، آزمایشگاهی و عملیاتی می‌باشد.

اما نکته‌ی مهمی که نیاز است که حتما به آن توجه شود این است که برای استفاده از آن باید دانش کافی در زمینه‌ی داکر و میکروسرویس (Micro Service) را داشت.

منبع: https://dockerme.ir/


چرا داکر؟


این سوال بسیار مهمی است که چرا باید از داکر استفاده کرد. در ادامه برخی از موارد که به نظرم از مهم‎ترین مزایای داکر است را با یکدیگر بررسی خواهیم کرد.

 

  • بسیار سبک (کم حجم) و سریع می باشد.

 

  • سرویس داکر با استفاده از قابلیت‌های Namespace و CGroups کرنل لینوکس، امکانی را فراهم می‌آورد که با توجه به مشترک بودن کرنل لینوکس میزبان (Docker Host) بین تمام کانتینرها، محیط‌های ایزوله و مستقلی را ایجاد کند تا پروسه‌ها بدون تاثیر بر روی یکدیگر هر کدام به صورت مجزا در کانتینر خود اجرا شود. این امکان به شدت در حجم محصول نهایی موثر بوده و آن را به مراتب کم حجم‌تر و سبک‌تر خواهد کرد. نکته‌ی مهم دیگه اینکه با توجه به قابلیت لایه‌‌ای بودن ایمیج‌ها از لایه‌های تکراری به صورت اشتراکی استفاده می‌شود و این موضوع نیز به شدت در حجم کانتینر‌ها موثر خواهد بود. سبک‌تر شدن کانتینرها باعث می‌شود تا سرعت بیشتری را نیز شاهد باشیم.

 

 

  • منابع کمی مورد نیاز است.

راه‌اندازی سرویس با استفاده از داکر نیاز به منابع کمی دارد. با کم‎ترین امکانات هم می‌توان سرویس‌های خود را راه‌اندازی کرد و بعدا با توجه به رشد سرویس منابع آن را نیز گسترش داد. با استفاده از سرویس داکر می‌توان به خوبی با توجه به اینکه تا حد امکان کانتینرها کم‌حجم و سریع می‌باشند، در منابع مورد نیاز پروژه تغییرات ایجاد کرده و آنها را کاهش داد.

 

  • راه‌اندازی کامل سرویس‌های عملیاتی در محیط آزمایشگاهی و حتی رایانه شخصی

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

 

  • به راحتی و با سرعت زیادی قابلیت مقیاس‌پذیری (Scalability) دارد.

مقیاس‌پذیری از مهم‎ترین قابلیت‌های داکر و میکروسرویس‌ها می‌باشد. تنها این دلیل به اندازه کافی ایجاب می‌کند تا برای پروژه‌ی خود از سرویس داکر استفاده کنید. با استفاده از داکر به خوبی می‌توان مقیاس‌پذیری را در تمام سطح پروژه‌ی خود پیاده‌سازی کرده و مهم‎تر از آن اینکه می‌توان به خوبی مقیاس‌پذیری خودکار (Auto Scaling) را ایجاد کرد. با توجه به این موضوع در هنگام پیک درخواست‌ و نیاز اساسی به منابع میزان آنها افزایش یافته و پس از برطرف شدن نیاز آن منابع کاهش یابد و به صورت خودکار جمع‌آوری شود. که این موضوع هم در کیفیت سرویس‌دهی شما بسیار موثر خواهد بود و هم هزینه‌های شما را به شدت کاهش خواهد داد.

 

  • قابلیت بخش‌بندی (Modularity) و قابل حمل بودن (Portability) را به سرویس شما می‌دهد.

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

منبع: https://dockerme.ir/


تاریخچه‌ی داکر


در این متن به صورت اختصار تاریخچه پیدایش داکر را با یکدیگر بررسی می‌کنیم.

    سال ۲۰۰۶: در این سال پروسس کانتینر (Process Container) ارائه شد.

    سال ۲۰۰۸: در این سال LXC لینوکس کانتینر (Linux Containers) ارائه شد که این موضوع مقدمه‌ای مناسب و خوبی برای استفاده از کانتینرها بود.

    سال ۲۰۱۳: سرویس داکر (Docker) در این سال ارائه شد. در همین سال شرکت بزرگ Redhat اعلام کرد که پروژه‌های Fedora, Red Hat Enterprise Linux, and OpenShift به سمت این پروژه‌ خواهد برد و از این پروژه حمایت کرد.

    سال ۲۰۱۴: در این سال شرکت ماکروسافت اعلام کرد که نسخه‌ی آینده ویندوز سرور خودش رو به سمتی خواهد برد که بتواند داکر کلاینت رو پشتیبانی کند. شرکت IBM نیز در همین سال اعلام کرد که برنامه‌ریزی خواهد کرد تا در IBM Cloud از این سرویس استفاده خواهد کرد و در همین سال شراکت (Partnership) خودش را با سرویس داکر اعلام کرد.

    سال ۲۰۱۶: شرکت داکر سرویس تجاری (Commercial) خود را در این سال ارائه کرد.

    سال ۲۰۱۸: در حال حاضر سرویس داکر دارای جامعه‌ی متن باز بسیار پویا و کاملی می‌باشد که بسیار فعال بوده و تقریبا همواره در حال رشد و شکوفایی بیشتر هستند.

    نکته‌ی آخر: در حال حاضر سرویس‌های بزرگ و معتبری از داکر حمایت و استفاده می‌کنند که در ادامه لیست برخی از آنها آورده می شود:

  •     Google
  •     IBM
  •     Redhat
  •     Openstack
  •     Canonical
  •     Openshift
  •     Kubernetes
  •     Microsoft
  •     Rancher
  •     Rackspace

    https://dockerme.ir

سرفصل‌های کارگاه


آشنایی و پیاده سازی داکر، داکر کامپوز و دیپلوی آن

مدرس

احمد رفیعی
احمد رفیعی
Linux Systems Administrator

برگزارکنندگان

انجمن علمی کامپیوتر دانشگاه صنعتی خواجه نصیر الدین طوسی
انجمن علمی کامپیوتر دانشگاه صنعتی خواجه نصیر الدین طوسی

نشریات و مجلات:
kntu-ce-mag.github.io


ارتباط با ما


  • کانال انجمن علمی کامپیوتر خواجه نصیر:

t.me/ce_kntu

  • با داکرمی متخصص شوید.
    لینک‌های ارتباطی ارائه دهنده رویداد:

    https://DockerMe.ir
    https://virgool.io/@rafiee
    https://www.linkedin.com/in/ahmad-rafiee/
    https://www.aparat.com/ahmadrafiee

سوالات متداول

پیش‌نیاز های علمی شرکت در این رویداد چیست؟
دانش ابتدایی در زمینه توسعه و دیپلوی نرم افزار و آشنایی مقدماتی با دستورات لینوکس
آیا نیازی به پرینت بلیت است؟
خیر، تنها نام شما هنگام عبور از حراست دانشکده بررسی می‌شود.

آدرس: تهران ضلع شرقی پل سید خندان (بلوار رسالت)، کوچه شهید باقری، دانشکده برق و کامپیوتر دانشگاه خواجه نصیر الدین طوسی