داکر در عمل :: شروع و ایجاد یک کانتینر جدید(ادامه پروژه پایش وب مشتری)

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

معماری درخواستی مشتری
معماری درخواستی مشتری

ما قصد داریم یک image برای ngnix را از داکر هاب دانلود و نصب کنیم.

داکر هاب (docker hub) یکی از مخازن اصلی تهیه imageها می‌باشد

با اجزای فرمان زیر ngnix را دانلود و نصب می‌کنیم:

docker run --detach \ --name web nginx:latest

زمانی که شما این دستور را اجرا می‎کنید ، داکر آخرین نسخه ngnix را از مخزن اصلی nginx در داکرهاب نصب و نرم‌افزار ngnix را اجرا می‌کند. بعد از نصب و اجرای ngnix ، یک خط از کارکترهای تصادفی در قالب یک رشته بروی ترمینال نوشته می‌شود مانند این:

7cb5d2b9a7eab87f07182b5bf58936c9947890995b1b94f412912fa822a9ecb5

این کاراکترها یک شناسه منحصر به فرد برای این کانتینر می‌باشد که فقط برای اجرای ngnix تولید شده است. هر زمان شما از دستور docker run برای ایجاد یک کانتینر جدید استفاده می‌کنید آن کانتینر شناسه‌ای شبیه به همین می‌گیرد. این یک روش معمول برای کاربران جهت گرفتن خروجی از یک کانتینر در دل یک متغییر و استفاده در دستورات دیگر است.بعد از نمایش شناسه منحصر به فرد شما خواهید دید که اتفاق دیگری رخ نخواهد داد. به دلیل استفاده از گزینه detach و شروع برنامه در پس‌زمینه شاهد این اتفاق هستیم.این عمل این را به ما می‌رساند که برنامه شروع شده به ترمینال الحاق نشده است.

شاید در این لحظه به این فکر می‌کنید که این برنامه را مانند برنامه‎های مختلف درون رایانه خودتان فقط یک نسخه می‌توانید اجرا کنید، این تفکر اشتباه است و من به شما اجرا تعداد زیادی نسخه از یک نرم‌افزار را آموزش خواهم داد.

استفاده از گزینه detach راهکار بسیار با کیفیتی برای اجرا برنامه‌ها در پس‌زمینه (Background) است.این نوع برنامه‎ها Daemon نامیده می‌شوند. یک Daemon به طور عمومی برنامه‌ای است که محیط اجرا که با برنامه‎های دیگر، انسانها و ساختارها تحت یک شبکه و یا ابزارهای و پروتکل‎ها ارتباط می‌گیرد.

زمانی که می‌خواهید یک برنامه را در پس‌زمینه با داکر تحت یک Daemon اجرا کنید از سوئیچ detach-- یا d- استفاده کنید.

برنامه دیگری که مشتری شما نیاز داشت برنامه پست‌الکترونیکی بود که منتظر می‎ماند تا یک ارتباط با آن برقرار شود و مشکل را در قالب یک پست الکترونیکی ارسال کند.

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

docker run -d --name mailer dockerinaction/ch2_mailer

با راه اندازی این کانتینر دومین ساختار مورد نیاز مشتری ایجاد شده است. حالا تا اینجا ما دو سیستم از سه سیستم را راه‌اندازی کرده‌ایم. آخرین بخش ، راه اندازی کانتینر ناظر است که تعاملات سیستم درخواستی توسط آن انجام می‌شود.

خوب فکر می‎کنم تا اینجا کافی باشه، من رو دنبال کنید :)