در این بلاگ از آموزش های ویراوب123 میخواهیم در مورد داکر و امکاناتش صحبت کنیم.
داکر
Docker ابزاری است که به توسعهدهندگان، ادمینهای سیستم و غیره اجازه میدهد تا برنامههای خود را به راحتی در جعبهای (به نام کانتینر) برای اجرا در سیستم عامل میزبان یعنی لینوکس مستقر کنند. مزیت کلیدی Docker این است که به کاربران امکان می دهد یک برنامه کاربردی را با تمام وابستگی های آن در یک واحد استاندارد برای توسعه نرم افزار بسته بندی کنند. برخلاف ماشینهای مجازی، کانتینرها سربار بالایی ندارند و از این رو استفاده کارآمدتری از سیستم و منابع زیربنایی را ممکن میسازند.
داکر کانتینر
کانتینر Docker یک محیط runtime با تمام مؤلفههای لازم (مانند کد، وابستگیها و کتابخانهها) است که برای اجرای کد برنامه بدون استفاده از وابستگیهای ماشین میزبان لازم است. این کانتینر runtime بر روی موتور روی سرور، ماشین یا نمونه ابری اجرا می شود. موتور بسته به منابع موجود، چندین کانتینر را اجرا می کند.
داکر ایمیج
یک تصویر داکر، یک فایل اجرایی مستقل است که برای ایجاد یک کانتینر استفاده میشود. این تصویر کانتینر شامل تمام کتابخانهها، وابستگیها و فایلهایی است که کانتینر برای اجرا نیاز دارد. یک تصویر Docker قابل اشتراکگذاری و قابل حمل است، بنابراین میتوانید یک تصویر مشابه را در چندین مکان به طور همزمان مستقر کنید - بسیار شبیه به یک فایل باینری نرمافزار.
داکر فایل
Docker می تواند با خواندن دستورالعمل های یک Dockerfile تصاویر(ایمیج) را به طور خودکار بسازد. Dockerfile یک سند متنی است که شامل تمام دستوراتی است که کاربر می تواند در خط فرمان برای جمع آوری یک تصویر فراخوانی کند. این صفحه دستوراتی را که میتوانید در Dockerfile استفاده کنید توضیح میدهد. برای ساخت داکر فایل و آشنایی با دستورات آن به این لینک مراجعه کنید.
داکر والیوم
داکر volumes یکی از ویژگی های داکر است که راهی برای ذخیره و مدیریت مداوم داده ها در کانتینرها فراهم می کند. یک volume یک فهرست یا یک مکان ذخیره سازی نامگذاری شده در خارج از سیستم فایل کانتینر است که برای یک یا چند کانتینر قابل دسترسی است. این اجازه می دهد تا داده ها به اشتراک گذاشته شوند و حتی زمانی که کانتینرها متوقف می شوند، شروع به کار می کنند یا حذف می شوند.
داکر کامپوز
Docker Compose ابزاری برای تعریف و اجرای برنامه های چند کانتینری است. Compose کنترل کل پشته برنامه شما را ساده می کند و مدیریت سرویس ها، شبکه ها و حجم ها را در یک فایل پیکربندی YAML منفرد و قابل فهم آسان می کند. سپس با یک دستور، تمام سرویس ها را از فایل پیکربندی خود ایجاد و راه اندازی می کنید.
داکر سوارم
Docker Compose برای پیکربندی و راهاندازی چندین کانتینر Docker در یک میزبان استفاده میشود – بنابراین لازم نیست هر کانتینر را جداگانه راهاندازی کنید. Docker swarm یک ابزار ارکستراسیون کانتینر است که به شما امکان می دهد کانتینرها را روی میزبان های متعدد اجرا و متصل کنید. اطلاعات تکمیلی در باره نحوه کارکرد داکر سوارم در این لینک موجود است.
داکر انجین (موتور داکر)
نرم افزاری که میزبان کانتینرها است Docker Engine نام دارد. Docker Engine یک برنامه مبتنی بر سرویس گیرنده-سرور است. موتور داکر دارای 3 جزء اصلی است:
سرور: مسئول ایجاد و مدیریت تصاویر، کانتینرها، شبکه ها و حجم های داکر در داکر است. از آن به عنوان یک فرآیند دیمون یاد می شود.
REST API: نحوه تعامل برنامه ها با سرور را مشخص می کند و به آن دستور می دهد که چه کاری انجام دهد.
Client: Client یک رابط خط فرمان docker (CLI) است که به ما امکان می دهد با استفاده از دستورات docker با Docker تعامل داشته باشیم.
معماری داکر
داکر از معماری کلاینت-سرور استفاده می کند. مشتری داکر با دیمون داکر صحبت میکند، که کارهای سنگین ساخت، اجرا و توزیع کانتینرهای داکر شما را انجام میدهد. کلاینت داکر و دیمون می توانند بر روی یک سیستم اجرا شوند،یا می توانید یک سرویس گیرنده Docker را به یک Daemon از راه دور Docker متصل کنید. مشتری داکر و دیمون با استفاده از یک REST API، از طریق سوکت های یونیکس یا یک رابط شبکه با هم ارتباط برقرار می کنند. یکی دیگر از سرویس گیرندگان Docker Docker Compose است که به شما امکان می دهد با برنامه هایی که از مجموعه ای از کانتینرها تشکیل شده اند کار کنید.
دیمون داکر
Docker Daemon (dockerd) به درخواستهای Docker API گوش میدهد و اشیاء Docker مانند تصاویر، کانتینرها، شبکهها و حجمها را مدیریت میکند. یک دیمون همچنین می تواند برای مدیریت سرویس های Docker با دیگر دیمون ها ارتباط برقرار کند.
داکر کلاینت
مشتری داکر (داکر) راه اصلی تعامل بسیاری از کاربران داکر با داکر است. وقتی از دستوراتی مانند docker run استفاده می کنید، کلاینت این دستورات را به dockerd می فرستد که آنها را اجرا می کند. دستور docker از Docker API استفاده می کند. کلاینت داکر می تواند با بیش از یک دیمون ارتباط برقرار کند.
معرفی داکر، داکر کامپوز، داکر والیوم و داکر فایل