چرا سکان آکادمی؟
آشنایی با معماری داکر

آشنایی با معماری داکر

آشنایی با معماری داکر

همان طور که در بخش های قبلی هم گفتیم داکر از معماری کلاینت_سروری استفاده می‌کند. کلاینت داکری با daemon صحبت می‌کند که بالا آوردن، اجرا کردن و توزیع کانتینرهای داکر شما را انجام می دهد. کلاینت داکر و daemon آن می‌توانند روی یک سیستم نصب شده باشند یا اینکه می توان یک کلاینت داکر را به یک daemon ریموت متصل کرد. کلاینت داکر و daemon با استفاده از یک REST API در بستر سوکت‌های UNIX یا یک رابط شبکه‌ای (Network Interface) با هم ارتباط برقرار می کنند.
در شکل زیر معماری داکر را مشاهده می‌کند که در ادامه به معرفی مختصری از هرکدام از اجزای داخل تصویر می‌پردازیم.

Daemon Docker

daemon داکر (dockerd) به درخواست های API داکر گوش می دهد و بخش های مختلف داکر از جمله Image ها، کانتینر ها، شبکه و Volume آن را مدیریت می‌کند. یک daemon می‌تواند با daemon های دیگر برای مدیریت سرویس های داکر ارتباط برقرار کند.
در ادامه ی درس های این دوره هرکدام از اسامی گفته شده در بالا را به صورت دقیق توضیح خواهیم داد. ولی در اینجا هم برای آشنایی اولیه خوب است توضیح کوتاه و مختصری درباره ی آنها بدهم:
• Image ها در واقع طرح کلی هستند که از روی آنها Container ها ساخته میشوند. Image را میتوان به نقشه ی خانه تشبیه کرد.
• Container ها هم همان خانه هایی هستند که از روی نقشه ساخته میشوند. دقیقا مثل همین مثال که از روی یک نقشه می توان تعداد زیادی ساختمان ساخت، از روی یک Image هم میتوان هر تعداد Container که بخواهید بسازید.
• شبکه هم همانطور که در مفاهیم کامپیوتری با آن آشنا هستیم همان ارتباط بین اجزاست.
• Volume ها، بخشی از حافظه ی سیستم میزبان Container شماست که برای استفاده در اختیار Container قرار می گیرد.

کلاینت داکر

کلاینت داکری (Docker) اصلی ترین راهی هست که کاربران برای تعامل با داکر از آن استفاده می کنند. وقتی شما از دستورات داکر مانند docker run استفاده می‌کنید، کلاینت این دستورات را به dockerd (همان Docker Daemon) ارسال می‌کند تا آنها را انجام دهد. لازم است بدانیم که دستور docker از API داکر استفاده می‌کند. و یک کلاینت داکری می‌تواند با بیش از یک daemon ارتباط برقرار کند.

Docker Registries

رجیستری داکر، محلی برای ذخیره ی Image های داکر است. Docker Hub یک رجیستری عمومی است که هرکسی می‌تواند از آن استفاده کند و البته داکر به صورت پیش فرض به گونه ای تظیم شده است که در Docker Hub به دنبال  imageها می‌گردد. از ویژگی های جالب داکر رجیستری این است که شما می‌توانید برای خود یک رجیستری خصوصی راه بیندازید.
وقتی که شما از دستورهایی مانند docker pull یا docker run استفاده می‌کنید image های مورد نیازتان از رجیستری config شده گرفته می‌شود. و وقتی از دستور docker push استفاده می‌کنید،  image شما در رجیستری config شده قرار می‌گیرد.

دوره در حال تکمیل است ... rocket