داکر (Docker) چیست؟
داکر (Docker) چیست؟
داکر یک پروژه متن باز است که اجازه میدهد Container یا برنامههای مبتنی بر Container بسازید.
با اینکه داکر در شروع کار برای لینوکس ساخته شد اما امروزه به خوبی در ویندوز و MacOS هم اجرا میشود.
داکر امکانی را فراهم آورده است که پروسهها و نرمافزارها به صورت مجزا در محیط کاملا ایزولهای بر روی کرنل لینوکس راهاندازی شود
که به این محیط و بستهی ایزوله، کانتینر (Container) میگویند.
کانتینر این امکان را برای برنامه نویسان و توسعه دهندگان اپلیکیشن ها فراهم می کند
تا یک برنامه را با تمام ماژول ها و کامپوننتهای وابسته آن (مانند کتابخانه ها، توابع و…) یکی کرده و به صورت یک پکیج درآورده
تا آن برنامه تولید شده، در پلتفرم ها و سیستم های مختلف بدون مشکل اجرا شود.
داکر از شعار Build any app ،Ship any where ،Run any where برای محصول خود استفاده می نماید
و به این معنی هست که شما با استفاده از داکر هر برنامه ای که خواستید ایجاد نمایید
سپس آن را به هر جایی که خواستید منتقل نمایید
و در نهایت هم از هر جایی که خواستید آن را اجرا نمایید.
همانطور که عنوان شد یک Container یک بسته سبک و مستقل شامل محیط و پکیج های مورد نیاز برای اجرای یک اپلیکیشن می باشد.
یک Container شامل:
- system libraries
- system tools
- Settings
و غیره می باشد.
کامپوننت های داکر
-
Dockerfile
هر Container داکر با یک فایل داکر شروع به کار میکند.
Dockerfile یک فایل متنی بوده که داخل آن با یک سینتکس ساده و قابل فهم دستورالعملهای ساخت Docker Image قرار داده شده است
(کمی جلوتر این مفهوم را بررسی خواهیم کرد)
این فایل اطلاعات بسیار مهمی را در برمی گیرد که برای راه اندازی داکر استفاده از آنها ضروری است.
در واقع Dockerfile مشخص میکند که پشت Container ما چه سیستم عاملی قرار بگیرد،
همینطور از چه زبان ها، متغیرهای محلی، پورتهای شبکه یا غیره استفاده شود.
و مهمتر از همه اینکه مشخص کند Container ما بعد از اینکه واقعا اجرا شد قرار است چه کاری انجام دهد.
-
Docker image
در واقع زمانی که کار نوشتن Dockerfile را تمام کردید،
یک قابلیت به اسم Docker Build را فراخوانی میکنید که وظیفه دارد یک Image بر اساس محتویات Dockerfile شما بسازد.
Dockerfile شامل یک سری دستورالعمل برای ساختن یک Image است، در حالی که Docker Image یک فایل قابل حمل است
که شامل یک سری دستورالعمل بوده که مشخص میکند Container کدام کامپوننتهای نرم افزاری را اجرا کند و اینکه چطور آنها اجرا شوند.
به احتمال زیاد Dockerfile بخواهد تعدادی فایل را از مخزنهای مختلف (Repository) دانلود کند
و اینجا باید به طور واضح مشخص کنید که کدام نسخهها دریافت شوند.
همینطور Image ساخته شده استاتیک میباشد، یعنی یک بار ساختن آن کافی بوده و نیازی به تغییر آن ندارید.
همانطور که از اسم آنها میتوانید حدس بزنید، Image یک تصویر از سیستم عامل اصلی میباشد.
-
Docker run
قابلیت Docker run در واقع یک دستور است که Container را راه اندازی میکند.
میدانیم که هر Container یک instance یا نمونه از Image است و ماهیت Container به صورت موقتی میباشد.
اما با این حال میتوان آنها را متوقف (Stop) یا راه اندازی مجدد (Restart) کرد.
هر Image میتواند تعداد زیادی Container داشته باشد (تا زمانی که هر کدام نام منحصر به فردی داشته باشند)
-
Docker Hub
هر چند ساخت Containerها کار راحتی است، اما لزومی ندارد برای هر Image از اول Container بسازید.
Docker Hub یک مخزن Saas برای به اشتراک گذاری و مدیریت Containerها است.
در آنجا میتوانید Imageهای رسمی داکر که معمولا به صورت متن باز هستند را پیدا کنید.
همینطور عموم مردم هم پروژههای خود را به این Repository اضافه میکنند.
-
Docker Engine
مغز متفکر و هسته اصلی داکر به حساب میآید.
یک تکنولوژی کلاینت/سرور که Containerها را ساخته و آنها را اجرا میکند.
در واقع اگر کسی درباره داکر صحبت کرده و منظورش شرکت داکر یا پروژه داکر نباشد، یعنی دارد درباره Docker Engine حرف میزند.
این موتور در دو نسخه Enterprise یا Community عرضه میشود.
نسخه Community به طور متن باز و کاملا رایگان قابل استفاده است
در حالی که نسخه Enterprise یک سری قابلیتهای اضافه داشته و سالانه برای هر Node نزدیک به 1500 دلار هزینه دارد.
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
داکر (Docker) چیست؟ – نویسنده: موسی رشوند
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.