در مطلب قبلی از سری مطالب «ماشینهای مجازی در مقابل داکر» ما به صورت کامل ماشین مجازی را بررسی نموده و انواع آن را توضیح دادیم. حال در این مطلب قصد داریم تا شما را با داکر آشنا کنیم.
کانتینر چیست؟
یک کانتینر، واحدی استاندارد برای نرمافزار است که تمام کدها و نیازمندیهای آن را در خود نگه میدارد. این کار برای اجرا و انتقال اپلیکیشن به صورت سریع و مطمئن از یک محیط پردازشی به یک محیط پردازشی دیگر است. یک ایمیج کانتینر داکر نسخهای سبک و اجرایی از تمام چیزهایی است که برای اجرای نرمافزار مورد نظر نیاز است. این موارد شامل ابزارهای سیستمی، کتابخانهها، کد اصلی برنامه، محیط اجرا و تنظیمات کلی میشود.
درک ساختار کانتینر داکر
در مقایسه با ماشینهای مجازی، داکر ساختار بسیار سادهتری دارد. در زیر میتوانید به صورت جداگانه بررسی هر لایه را مشاهده کنید:
- زیرساخت یا Infrastructure: درست شبیه به لایه زیرساخت در ماشینهای مجازی، زیرساخت در داکر نیز شامل لپتاپ، کامپیوتر شخصی و یا سرورهای اختصاصی میشود.
- سیستم عامل میزبان یا Host Operating System: این مورد میتواند هر سیستم عاملی که قابلیت اجرا کردن داکر را دارد باشد. شما میتوانید داکر را روی هر سه سیستم عامل معروف لینوکس، مک و ویندوز اجرا کنید.
- Docker Daemon: این لایه جایگزینی برای Hypervisor است. Docker Daemon سرویسی است که در پس زمینه سیستم عامل میزان اجرا شده و روند اجرا و تعاملات کانتینرهای داکر را مدیریت میکند.
- BINS/LIBS: این لایه نیز مانند همان لایه باینری و کتابخانه در ماشین مجازی است با این تفاوت که در سیستم عامل مهمان اجرا نمیشود. از طرفی دیگر برای قرارگیری پکیجهای ویژه، در این ساختار ما چیزی به نام Docker Images در اختیار داریم.
- Application: لایه نهایی داکر، لایه اپلیکیشن است. در این ساختار هر اپلیکیشن در یک بسته مستقل به نام Docker Image قرار میگیرد. تمام نیازمندیها و موارد مربوط به اپلیکیشن نیز در همان ایمیج نگهداری میشود. ایمیجهای داکر در لایه نهایی به صورت ایزوله شده قرار گرفتهاند.
انواع کانتینر
Linux Containers (LXC) – کانتینرهای لینوکسی نسخه اصلی تکنولوژی کانتینر هستند. این حالت یک روش مجازیسازی در سطح سیستم عامل لینوکس است که برای اجرای چندین سیستم لینوکسی ایزوله شده روی یک هاست استفاده میشود.
Docker – داکر اولین پروژهای بود که تصمیم داشت تا کانتینرهای LXC را برای اپلیکیشنها ایجاد کند. این موضوع باعث میشد تا کانتینرها منعطفتر و قابل حمل باشند.
مزایای کانتینرها
- کانتینرها باعث کاهش منابع لازم برای مدیریت اپلیکیشنها میشوند
- حجم بستههای کاربردی را کاهش میدهند.
- بروزرسانیهای امنیتی را سادهتر میکند.
- برای انتقال و آپلود پروژه به میزان کمتری از کدنویسی نیازمند است.
سرویسهای محبوب فراهم کننده کانتینر
در پایان
در این مطلب از مجموعه مطالب «ماشینهای مجازی در مقابل داکر» به صورت کلی داکر را بررسی کردیم. در بخش آخر این مجموعه مطلب قصد داریم تا مقایسه نهایی را انجام دهیم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید