تا پایان تخفیف
به طور خلاصه، داکر یک سرویس مدیریت کانتینر (Container) است. Docker در هر مکانی توسعه، ارسال و اجرا میشود. ایده کامل Docker این است که توسعه دهندگان بهراحتی برنامههای کاربردی را توسعه دهند، آنها را ...
آشنایی با لینوکس
آشنایی با زبانهای برنامهنویسی
به طور خلاصه، داکر یک سرویس مدیریت کانتینر (Container) است. Docker در هر مکانی توسعه، ارسال و اجرا میشود. ایده کامل Docker این است که توسعه دهندگان بهراحتی برنامههای کاربردی را توسعه دهند، آنها را به محفظههایی بفرستند که میتوانند در هر مکان مستقر شوند.
عرضه اولیه Docker در مارس 2013 بود و از آن زمان به کلیدواژه توسعه مدرن جهان، بهویژه در مواجهه با پروژههای مبتنی بر Agile تبدیل شده است.
در آموزش داکر مبانی اولیه Containerization بیان میشود و مباحث ارائه شده، به شما کمک میکند تا به درک کاملی از این مفهوم دست پیدا کنید. سپس با مفاهیم docker آشنا میشوید و یاد میگیرید که چطور از docker برای بهبود عملکرد سیستم و مدیریت نرمافزارها استفاده کنید. Docker، فرایند مجازیسازی و عملکرد بسیار بهتری ازVirtual Machineها دارد و جزء دسته میکرو سرویسها محسوب میشود. با استفاده از Docker میتوان نرمافزار را بدون وابستگی به سیستمعامل اجرا کرد. همچنین، با استفاده از قابلیت swarm، میتوان علاوه بر ایجاد پایداری سیستم، میزان load سرورها را نیز مدیریت کرد. شاید بتوان به صورت خلاصه گفت، با استفاده ازdocker:
Docker ابزاری بسیار مناسبی برای کلیه برنامهنویسان و توسعهدهندگان است چرا که این امکان را میدهد که یک برنامه توسعهیافته را جدای از پلتفرم، در هر محیطی اجرا کنند. کانتینر این امکان را به برنامهنویسان میدهد تا یک برنامه را با تمام ماژولها و وابستگیها ایزوله سازی کرده و در سیستمعاملهای مختلف بدون هیچ مشکلی اجرا کند. بهعنوان یک مثال بارز یک توسعهدهنده PHP را در نظر بگیرید. او احتمالاً باید یک وب سرور را بر روی سیستم خود نصب کند همچنین نیاز به یک پایگاه داده MySQL دارد و اگر پروژه گسترش پیدا کند ممکن است نیاز به نصب چند ماژول اضافی برای PHP و تنظیمات مختلف داشته باشید.
پیشنهاد میشود جهت یادگیری بهتر و موثرتر دورهی آموزش داکر حتما پیش از شروع نرمافزار داکر را را از وبسایت docs.docker.com دانلود نمایید و سپس اقدامات لازم جهت نصب داکر را با توجه به آموزش ارائه شده در فصل اول دوره انجام دهید.
یکی از نکاتی که پیش از شروع آموزش Docker باید به آن توجه کنید، آشنایی نسبی با مفاهیم سیستمعاملهای لینوکس است.
از ویژگیهای مهم دورهی آموزش داکر که موجب به وجود آمدن تمایز در میان سایر دورههای آموزش داکر رایگان و یا آموزش به ازای پرداخت هزینه وجود دارد، میتوان به شیوههای استفاده شده در تدریس اشاره که دروس این دوره با تکیه بر تسلط زیادی که بر مفاهیم دارد، به ارائه مفاهیم به صورت کامل و با بیانی ساده به همراه، استفاده از شکلها، گرافها و اسلاید در جهت تفهیم بهتر و دقیقتر موضوعات و همچینین بیان مثال متنوع برای مباحث مطرح شده میپردازد.
وجود تمرینهای استاندارد و منطق با مباحث تدریس شده در دوره آموزشی، تعامل مدرس با دانشجویان دوره و پروژه پایانی نیز از دیگر مزیت های این دورهی آموزش داکر مکتبخونه میباشد.
در این فصل با ویژگیهای مختلف داکر و مفاهیم اولیه آشنا شده و نحوه نصب داکر را بر روی لینوکس و ویندوز فرامیگیرید برخی از
ویژگیهای مهم داکر عبارتاند از:
DockerHub (داکرهاب) یک سرویس رجیستری در cloud است که به شما امکان میدهد تصاویر Docker را که توسط جوامع دیگر ساخته شدهاند بارگیری کنید. همچنین میتوانید image ساخته شده توسط Docker خود را در مرکز Docker بارگذاری کنید. در این فصل، نحوه بارگیری و استفاده از image Jenkins Docker از هاب داکر را مشاهده خواهیم کرد.
کانتینرها نمونههایی از image Dockerها هستند که میتوانند با استفاده از دستور Docker run اجرا شوند. هدف اصلی داکر اجرای کانتینرها است.
اجرای یک کانتینر
اجرای کانتینرها با دستور Docker run مدیریت میشود. برای اجرای یک کانتینر در حالت تعاملی، ابتدا Docker container را راهاندازی کنید.
در داکر، همه چیز بر اساس image است. image ترکیبی از یک سیستم فایل و پارامترها است.
Docker از جنبههای شبکه مراقبت میکند تا کانتینرها بتوانند با کانتینرهای دیگر و همچنین با Docker Host ارتباط برقرار کنند. اگر ifconfig را روی Docker Host (داکر هاست) انجام دهید، آداپتورDocker Ethernet را مشاهده خواهید کرد. این آداپتور هنگام نصب Docker بر روی Docker Host ایجاد میشود.
Docker دارای چندین درایور ذخیرهسازی است که به آنها امکان میدهد با دستگاههای ذخیرهسازی اساسی کار کنند. جدول زیر درایورهای ذخیرهسازی مختلف را به همراه فناوری مورد استفاده برای درایورهای ذخیرهسازی نشان میدهد.
تکنولوژی درایور ذخیرهسازی
OverlayFS overlay or overlay2
AUFS aufs
Btrfs brtfs
Device Manager devicemanager
VFS vfs
ZFS zfs
Docker Compose برای اجرای چندین کانتینر بهعنوان یک سرویس واحد استفاده میشود. بهعنوانمثال، فرض کنید شما یک برنامه کاربردی داشته باشید که به NGNIX و MySQL نیاز داشته باشد، میتوانید یک پرونده ایجاد کنید که هر دو محفظه را بهعنوان یک سرویس بدون نیاز به شروع جداگانه شروع کند.
در این فصل، نحوه کار با Docker Compose را خواهیم دید. سپس، همچنین چگونگی دریافت یک سرویس ساده با MySQL و NGNIX را که با استفاده از Docker Compose در حال اجرا است، بررسی خواهیم کرد.
Docker Cloud سرویسی است که توسط Docker ارائه میشود و در آن میتوانید عملیات زیر را انجام دهید:
Nodes: میتوانید Docker Cloud را به ارائهدهندگان ابر موجود خود مانند Azure و AWS متصل کنید تا کانتینرها را در این محیطها بچرخانید.
Cloud Repository:Cloud مکانی را فراهم میکند که بتوانید مخازن خود را در آن ذخیره کنید.
Continuous Integration: با Github ارتباط برقرار کنید و یک خط لوله ادغام مداوم ایجاد کنید.
Application Deployment: استقرار و مقیاسبندی زیرساختها و کانتینرها.
Continuous Deployment: میتواند استقرارها را بهصورت خودکار انجام دهد.
در این فصل مثالهای کاربردی در خصوص تمامی مواردی که تاکنون آموزش داده شد مورد بررسی و اجرا قرار میگیرد.
Kubernetes یک چارچوب تخصصی برای Docker Containerها است که با در اختیار قراردادن Containerها اعمال خاصی را میتواند انجام دهد. بهعنوانمثال، شما میتوانید دو سرویس داشته باشید - یک سرویس شامل nginx و mongoDB و یک سرویس دیگر حاوی nginx و redis. هر سرویس میتواند دارای یک IP یا نقطه سرویس باشد که توسط برنامههای دیگر قابل اتصال باشد. سپس Kubernetes برای مدیریت این سرویسها استفاده میشود.
اطلاعات بیشتر
از مجموع 99 امتیاز
31 نظرنظرات بیشتر
پس از گذراندن محتوای دوره به صورت آنلاین (بدون دانلود) در سایت مکتبخونه، در صورتی که حد نصاب قبولی در دوره را کسب و تمرین ها و پروژه های الزامی را ارسال کنید، گواهینامه رسمی پایان دوره توسط مکتبخونه به اسم شما صادر شده و در اختیار شما قرار میگیرد.
قابل اشتراکگذاری در
صادق کریمی دانشآموخته کارشناسی ارشد رشته مهندسی سیستمهای مخابرات از دانشگاه امیرکبیر است.
وی اکنون در حوزه مخابرات سلولی فعالیت دارد و در حال حاضر در شرکت ایرانسل به عنوان مهندس آنالیز دادهها در حوزه امنیت شبکه فعالیت دارد و علاقهمند به استفاده از هوش مصنوعی و یادگیری ماشین در سیستمهای مخابراتی است. همچنین، ایشان در زمینه پیادهسازی میکروسرویسها و containerها با تمرکز بر نسل 5G شبکههای سلولی و Telco cloud فعالیت دارد.
اطلاعات بیشتر