داکر (Docker) چیست؟
زمان مطالعه 2 دقیقه
۱۷ مهر ۱۴۰۰
نویسنده پایدار سامانه
تعداد کامنت 0

داکر (Docker) چیست؟

داکر چیست؟ اگر برای شما مهم است که سیستم ادمین ها و کاربران لینوکس در مورد داکر چه می گویند، آنها واقعا از Docker هیجان زده شده اند. اما این داکر دقیقا چیست؟ و چرا باید به آن اهمیت دهید؟ به هر حال چه کسی از داکر استفاده می کند؟ این مقاله به توضیح جذابیت داکر کمک می کند.

Docker چیست؟

Docker یک بستر نرم افزاری برای ساخت برنامه های کاربردی بر اساس مفهوم کانتینر ها یا Containers است، محیط های کوچک و سبک پیاده سازی که از هسته سیستم عامل استفاده می کنند اما جدا از یکدیگر اجرا می شوند. Docker در سال 2013 ایجاد شد و از آن زمان به دلیل ویژگی های زیادی که ارائه می دهد ، در بین توسعه دهندگان محبوبیت زیادی پیدا کرده است.

داکر (Docker ) روشی برای بسته بندی برنامه ها در “Container” ها است (در ادامه توضیحاتی در مورد کانتینر ها ارائه خواهد شد) که به آنها اجازه می دهد از یک دستگاه به دستگاه دیگر منتقل شوند. این امر به ویژه برای توسعه دهندگان و مدیران سیستم جذاب است زیرا به آنها اجازه می دهد تا برنامه ها را همراه با همه وابستگی های خود ارسال کرده و همچنان کار کنند.

به عنوان مثال، یک توسعه دهنده می تواند یک برنامه وب را با استفاده از LAMP (لینوکس، آپاچی، MySQL، PHP) روی یک دستگاه شخصی آزمایش کرده و بسازد، سپس برنامه ها را با سرورهای آزمایشی با نسخه های محتوی برنامه ها و همه اجزا، از جمله حداقل نصب اوبونتو، اطمینان حاصل کنید که از یک دستگاه به دستگاه دیگر کار می کند. این امر باعث می شود برنامه نویسان بتوانند به سرعت برنامه های جدید را آزمایش و روانه بازار کنند.

Containers یا ظروف در داکر چیست؟

یکی از اهداف توسعه نرم افزارهای مدرن این است که برنامه های کاربردی روی یک میزبان جدا از یکدیگر قرار گیرند تا در عملکرد یا نگهداری یکدیگر بی جهت مداخله نکنند. این ممکن است به دلیل بسته ها، کتابخانه ها و سایر اجزای نرم افزاری که برای اجرای آن لازم است، مشکل باشد. یکی از راه حل های این مشکل ماشین های مجازی هستند که برنامه های کاربردی را بر روی یک دستگاه کاملا منزوی نگه می دارند و تضاد بین اجزای نرم افزار را کاهش داده و رقابت برای منابع ماشین میزبان را به حداقل می رسانند. اما ماشین های مجازی منابع زیادی مصرف می کنند زیرا هر ماشین مجازی به سیستم عامل خاص خود نیاز دارد، بنابراین معمولاً حجم آنها گیگابایت است و نگهداری و به روز رسانی آنها دشوار است.

برعکس، کانتینر ها (Containers ) محیط های اجرای برنامه های مختلف را از یکدیگر جدا می کنند، اما هسته اصلی سیستم عامل را به اشتراک می گذارند. اندازه آنها کوچک است (معمولاً بر حسب مگابایت اندازه گیری می شود)، از منابع بسیار کمتری نسبت به ماشین های مجازی استفاده می کنند و تقریباً بلافاصله از زمان راه اندازی شروع به کار می کنند و در لحظه قابل استفاده هستند.

داکر چیست؟

Docker یک پروژه منبع باز است که ساخت کانتینر ها و ساخت برنامه های کاربردی مبتنی بر ظرف را آسان می کند. Docker در ابتدا برای لینوکس طراحی شده بود، و اکنون روی ویندوز و macOS نیز کار می کند. برای درک نحوه عملکرد Docker، اجازه دهید نگاهی به برخی از اجزایی که ممکن است برای ساخت برنامه های کاربردی مبتنی بر Docker استفاده کنید، بیندازیم.

داکر فایل (Dockerfile)

هر ظرف Docker با یک Dockerfile شروع می شود. Dockerfile یک فایل متنی است که با فرمت آسان قابل فهم نوشته شده است و شامل دستورالعمل هایی برای ایجاد یک تصویر Docker یا همان داکر ایمیج است. Dockerfile سیستم عاملی را که اساس کانتینر را تشکیل می دهد و همچنین زبان های برنامه نویسی، متغیرهای محیطی، مکان فایل ها، پورت های شبکه و سایر اجزای مورد نیاز شما را تعریف می کند.

داکر ایمیج (Docker image)

هنگامی که Dockerfile خود را نوشتید، می توانید با Docker build utility ارتباط برقرار گنید تا تصویری یا یک Image بر اساس آن Dockerfile بسازد. در حالی که Dockerfile مجموعه دستورالعمل هایی است که به ما می گوید چگونه یک Image بسازیم، یک Docker Image یک فایل قابل حمل است که حاوی مشخصات اجزای برنامه مورد استفاده برای اجرای محتوا است.

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

فرمان Docker run

ابزار اجرای Docker فرمانی است که ظرف را اجرا می کند. هر ظرف اساسا یک Image است. ظرف یا Container را می توان متوقف یا راه اندازی مجدد کرد و باعث شد ظرف در همان حالت قبل از توقف کار کند. علاوه بر این، بیش از یک Container از یک Image را می توان به طور همزمان اجرا کرد (به شرطی که هر Container یک نام منحصر به فرد داشته باشد).

داکر هاب (Docker Hub)

مخزن داکر مکانیزمی برای به اشتراک گذاری Image ها است به طوری که نیازی به ایجاد تمام تصاویر مورد نیاز در برنامه های خود ندارید.

صاحبان برنامه های نرم افزاری Docker Image را برای نرم افزار خود، به عنوان مثال، وردپرس، منتشر می کنند و افراد عادی نیز می توانند تصاویری از ایجاد آنها را به اشتراک بگذارند.

به راحتی می توانید تصاویر را از مخزن بارگذاری کنید یا حتی تصاویر خصوصی خود را به اشتراک بگذارید.

داکر انجین (Docker Engine)

Docker Engine هسته اصلی Docker است، که اصلی ترین فناوری کلاینت-سرور است که ظروف را ایجاد و مدیریت می کند، وقتی می گوییم Docker به طور کلی منظور موتور Docker است و نه سایت Docker.

دو نسخه متفاوت از موتور داکر وجود دارد: Docker Engine Enterprise و Docker Engine Community.

اشتراک گذاری در شبکه های اجتماعی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *