این آموزش جنبه های مختلف سرویس Docker container را توضیح می دهد. شروع دوره با مباحث ابتدایی Docker است که بر نصب و پیکربندی Docker تمرکز دارد، اما به تدریج به موضوعات پیشرفته ای مانند networking و registry ها ورود می کند. چند بخش آخر این آموزش، به نحوه شروع کار با محیط های توسعه، با استفاده از Docker container ها می پردازد.
داکر چیست؟
داکر یک پلتفرم open source برای containerize کردن است. این کار توسعه دهندگان را قادر می سازد تا برنامه ها را در container ها بسته بندی كنند و اجزای مربوطه که قابلیت اجرا شدن دارند را به گونه ای استاندارد می کنند که با تركیب کردن source code های برنامه مورد نظر با library ها و dependency های مورد نیاز سیستم عاملشان به منظور اجرای آن کد در هر محیطی مناسب باشند. تکنولوژی container ها تحویل برنامه های توزیع شده را آسانتر می کنند و با تغییر سازمان ها به سمت توسعه cloud native و محیط های hybrid multi cloud محبوبیت بیشتری پیدا کرده اند. توسعه دهندگان می توانند container هایی بدون Docker ایجاد کنند. اما این پلتفرم ساخت، استقرار و مدیریت container ها را آسان تر، ساده تر و ایمن تر می کند. Docker اساساً یک toolkit است که توسعه دهندگان را قادر می سازد تا با استفاده از دستورات ساده و یک مکانیزم automation که از طریق یک API تک باعث صرفه جویی در کارها می شود container هایی را ایجاد، مستقر، به روز رسانی و متوقف کنند. واژه Docker به Docker,Inc که شرکتی در زمینه فروش نسخه تجاری Docker نیز هست و همچنین به پروژه open source مربوط به Docker نیز اشاره دارد. این شرکت خودش به همراه بسیاری از افراد و سازمان ها با این پروژه همکاری می کند.
Container ها چگونه کار می کنند و چرا آن قدر محبوب هستند؟
استفاده از container ها از طریق فرایند ایزولاسیون و قابلیت virtualization در Linux kernel امکان پذیر می شوند. این قابلیت ها مانند گروه های کنترل (گروه های مختلف) برای اختصاص دادن منابع در میان فرایندها و name space ها برای محدود کردن دسترسی فرآیند یا مشاهده به سایر منابع یا مناطق سیستم، اجزای چندین برنامه را قادر می سازد تا منابع یک نمونه واحد از سیستم عامل میزبان را به همان روشی به اشتراک بگذارند که یک hypervisor چندین ماشین مجازی (VM) را برای به اشتراک گذاشتن CPU و حافظه و سایر منابع یک سرور سخت افزاری انجام می دهد. در نتیجه این کار فناوری container کلیه قابلیت ها و مزایای ماشین های مجازی را از جمله ایزولاسیون برنامه ها، مقیاس پذیری مقرون به صرفه و قابلیت دور انداختن یا disposability را ارائه می دهد. به علاوه مزایای مهم دیگری نیز دارد که در ادامه به آن ها اشاره می کنیم.
وزن سبک تر: برخلاف ماشین های مجازی، containerها payload یک instance از کل سیستم عامل خود و hypervisor خود را حمل نمی کنند. container ها فقط شامل فرایندهای سیستم عاملی و dependency های لازم برای اجرای کد هستند. اندازه containerها در مقایسه با گیگابایت برای برخی از ماشین های مجازی به مگابایت اندازه گیری می شوند و از ظرفیت سخت افزار استفاده بهتری می کنند و زمان startup سریع تری دارند.
کارایی بیشتر منابع: با استفاده از container ها می توانید به وسیله ماشین های مجازی چندین نسخه از یک برنامه را در همان سخت افزار با تعداد دفعات بیشتر اجرا کنید. این کار می تواند هزینه های cloud شما را کاهش دهد.
بهبود سطح تولید یا productivity: در مقایسه با ماشین های مجازی استقرار، فراهم کردن و راه اندازی مجدد containerها سریعتر و آسان تر است. این امر استفاده از container ها را برای به کارگیری آن ها در یکپارچه سازی pipeline های continuous delivery ایده آل تر می کند و انجام این کار را برای تیم های توسعه دهنده با استفاده از روش های Agile و DevOps مناسب تر می سازد.
مخاطبین این دوره آموزشی
این دوره برای کسانی است که علاقه مند به یادگیری Docker به عنوان یک container service هستند. این محصول به شدت محبوب شده و در توسعه برنامه های نسل جدید بسیار تأثیرگذار است. بنابراین کسانی که علاقه مند به یادگیری تمام جنبه های Docker هستند باید به مطالعه این آموزش بپردازند. علاوه بر این توصیه می کنیم که از آموزش های ویدیویی سایت پرووید در مورد داکر مانند: آموزش مقدماتی کار با داکر (Docker) و آموزش شروع به کار با داکر Docker در ویندوز و آموزش داکر Docker و Container در پروژه های ASP.NET Core نیز دیدن بفرمایید.
پیش نیازها
پیش نیاز این دوره این است است که خوانندگان باید با مفاهیم اساسی ویندوز و برنامه های مختلفی که از قبل روی سیستم عامل ویندوز موجود است آشنا شوند. به علاوه، اگر مخاطبان به طور مختصر نیز با لینوکس آشنا باشند به آن ها کمک می کند.
برنامه تحصیلی
- 1 Section
- 14 Lessons
- 10 هفته
- بررسی کلی داکر Docker14
- 2.1شناخت کاربردهای داکر Docker
- 2.2نصب کردن Docker بر روی Linux
- 2.3روال نصب Docker
- 2.4بررسی مفهوم Docker – Hub
- 2.5بررسی Image ها در داکر Docker
- 2.6بررسی container ها در داکر Docker
- 2.7کار با container ها در داکر Docker
- 2.8بررسی معماری داکر Docker
- 2.9بررسی container ها و Host ها در داکر
- 2.10پیکربند های Docker
- 2.11بررسی container ها و Shell ها در داکر
- 2.12کار کردن با فایل ها در داکر Docker
- 2.13ساختن فایل ها در داکر
- 2.14بررسی Repository های Public در داکر