اجزای اصلی داکر – قسمت اول
در مقاله قبل از این سری آموزشی ، سودمندی های داکر را در مقایسه با سایر پلت فرم های Containerization بر شمردیم. در این نوشتار ، مطابق قرار قبلی قصد داریم ببینیم که داکر چگونه چنین ویژگی هایی را محیا می نماید؟ برای درک این موضوع ، بهتر است با اجزای مختلف داکر آشنا شویم.
در تصویر زیر از وب سایت Free Code Camp اجزای اصلی Docker به خوبی نمایش داده شده است.
Docker Engine یا موتور داکر
بالاترین لایه ، که داکر بر روی آن Run می شود را Docker Engine می گویند. داکر انجین یک Runtime سبک است که ابزار مدیریت کانتینرها ، Image ها ، Build ها و بسیاری موارد دیگر است. Docker Engine بر روی Linux اجرا می شود و شامل سه جز زیر است :
۱ – یک Docker Daemon که بر روی Host راه اندازی شده است.
۲- یک کلاینت داکر که از طریق ارتباط با Docker Daemon دستورات را اجرا می نماید.
۳- یک REST API که ارتباط با Docker Daemon را به صورت Remote امکان پذیر می نماید.
Docker Client یا کلاینت داکر
کلاینت داکر جزئی ست که کاربر نهایی با آن در ارتباط خواهد بود. برای درک بهتر می توانید آن را یک UI برای داکر بنامید. هر چند که فاصله آن از واژه User Friendly بسیار زیاد است. شما به عنوان کاربر نهایی با Docker Client ارتباط خواهید داشت و کلاینت داکر دستورات شما را به Docker Daemon منتقل می نماید.
Docker Daemon
داکر دیمون جزئی ست که دستورات ارسال شده به کلاینت Docker را اجرا می نماید. دستوراتی مانند Building یا ساختن ، Running یا راه اندازی و Distributing یا توزیع Container ها . 🙂
Docker Daemon ، خود ، بر روی هاست اجرا می شود. اما به عنوان کاربر شما هیچ گاه به صورت مستقیم با آن در ارتباط نخواهید بود. همان طور که در قسمت قبل در توضیح Docker Client گفته شد ، کلاینت داکر انتقال دهنده دستورات شما به Docker Daemon خواهد بود. نکته جالب اینکه تفاوتی ندارد که Docker Client بر روی همان هاستی باشد که Docker Daemon قرار دارد یا از روی هاست دیگری این مهم را به انجام برساند.
در مقاله بعد از این سری آموزشی اجزایی چون Dockerfile ، Docker Image ، والیوم ها و در نهایت Docker Image صحبت خواهیم نمود.