Docker یک بستر باز برای توسعه ، حمل و نقل و اجرای برنامه ها است. Docker شما را قادر می سازد تا برنامه های خود را از زیرساخت های خود جدا کنید تا بتوانید به سرعت نرم افزار را تحویل دهید. با Docker می توانید زیرساخت های خود را به همان روشی که برنامه های خود را مدیریت می کنید مدیریت کنید. با بهره گیری از روشهای Docker برای حمل و نقل ، آزمایش و استفاده سریع کد ، می توانید تأخیر بین کد نوشتن و اجرای آن در تولید را به میزان قابل توجهی کاهش دهید.
سکوی Docker
Docker امکان بسته بندی و اجرای برنامه را در یک محیط جداگانه جدا شده به نام یک ظرف فراهم می کند. انزوا و امنیت به شما امکان می دهد بسیاری از ظروف را همزمان بر روی یک میزبان معین اجرا کنید. ظروف سبک وزن هستند و حاوی همه چیز مورد نیاز برای اجرای برنامه هستند ، بنابراین نیازی به تکیه بر آنچه در حال حاضر روی میزبان نصب شده است. شما به راحتی می توانید ظروف را هنگام کار به اشتراک بگذارید و مطمئن باشید که هرکسی که با آنها به اشتراک می گذارید همان ظرفی را دارد که به همان روش کار می کند.
Docker ابزاری و سکویی را برای مدیریت چرخه عمر ظروف شما فراهم می کند:
- برنامه و مؤلفه های پشتیبانی آن را با استفاده از ظروف توسعه دهید.
- کانتینر به واحد توزیع و آزمایش برنامه شما تبدیل می شود.
- هنگامی که آماده هستید ، برنامه خود را به عنوان یک ظرف یا یک سرویس ارکستر در محیط تولید خود مستقر کنید. این همان کار می کند که آیا محیط تولید شما یک مرکز داده محلی ، ارائه دهنده ابر یا ترکیبی از این دو است.
برای چه چیزی می توانم از Docker استفاده کنم؟
تحویل سریع و مداوم برنامه های شما
Docker با اجازه دادن به توسعه دهندگان در محیط های استاندارد با استفاده از ظروف محلی که برنامه ها و خدمات شما را ارائه می دهند ، چرخه عمر توسعه را ساده می کند. ظروف برای ادغام مداوم و گردش مداوم (CI/CD) بسیار عالی هستند.
سناریوی مثال زیر را در نظر بگیرید:
- توسعه دهندگان شما کد را به صورت محلی می نویسند و کار خود را با همکاران خود با استفاده از ظروف Docker به اشتراک می گذارند.
- آنها از Docker استفاده می کنند تا برنامه های خود را به یک محیط آزمایش سوق دهند و تست های خودکار و دستی را انجام دهند.
- هنگامی که توسعه دهندگان اشکالات پیدا می کنند ، می توانند آنها را در محیط توسعه برطرف کرده و آنها را برای آزمایش و اعتبارسنجی به محیط آزمایش مجدد اختصاص دهند.
- هنگامی که آزمایش کامل است ، دریافت رفع به مشتری به سادگی فشار آوردن تصویر به روز شده به محیط تولید است.
استقرار و مقیاس گذاری پاسخگو
پلت فرم مبتنی بر کانتینر Docker امکان بار کاری بسیار قابل حمل را فراهم می کند. ظروف Docker می توانند روی لپ تاپ محلی یک توسعه دهنده ، در ماشین های فیزیکی یا مجازی در یک مرکز داده ، در ارائه دهندگان ابر یا در ترکیبی از محیط کار کنند.
قابلیت حمل و طبیعت سبک وزن داکر نیز باعث می شود که به صورت پویا بار کاری ، مقیاس بندی یا پاره کردن برنامه ها و خدمات را به عنوان نیازهای تجاری در زمان واقعی ، مدیریت کنید.
اجرای بارهای بیشتر در همان سخت افزار
داکر سبک و سریع است. این یک جایگزین مناسب و مقرون به صرفه برای ماشینهای مجازی مبتنی بر Hypervisor است ، بنابراین می توانید از ظرفیت سرور خود برای دستیابی به اهداف تجاری خود بیشتر استفاده کنید. Docker برای محیط های با چگالی بالا و برای استقرار کوچک و متوسط که در آن باید با منابع کمتری انجام دهید مناسب است.
معماری داکر
Docker از یک معماری مشتری-سرور استفاده می کند. مشتری Docker با Docker Daemon صحبت می کند ، که بالا بردن سنگین ساختمان ، دویدن و توزیع ظروف Docker شما را انجام می دهد. Docker Client و Daemon می توانند روی همان سیستم اجرا شوند ، یا می توانید یک مشتری Docker را به یک Daemon Docker از راه دور وصل کنید. مشتری Docker و Daemon با استفاده از API REST ، بیش از سوکت های UNIX یا یک رابط شبکه ارتباط برقرار می کنند. یکی دیگر از مشتری های Docker Docker آهنگسازی است که به شما امکان می دهد با برنامه های متشکل از مجموعه ای از ظروف کار کنید.
Daommon Docker
Docker Daemon (Dockerd) برای درخواست های Docker API گوش می دهد و اشیاء Docker مانند تصاویر ، ظروف ، شبکه ها و جلد ها را مدیریت می کند. یک Daemon همچنین می تواند با سایر Daemons برای مدیریت خدمات Docker ارتباط برقرار کند.
مشتری Docker
Docker Client (Docker) روش اصلی تعامل بسیاری از کاربران Docker با Docker است. هنگامی که از دستوراتی مانند Docker Run استفاده می کنید ، مشتری این دستورات را به Dockerd ارسال می کند ، که آنها را بیرون می کشد. دستور Docker از API Docker استفاده می کند. مشتری Docker می تواند با بیش از یک Daemon ارتباط برقرار کند.
دسک تاپ
Docker Desktop یک برنامه کاربردی آسان برای محیط MAC ، ویندوز یا لینوکس است که شما را قادر می سازد تا برنامه های کاربردی و خدمات کانتینر شده را بسازید و به اشتراک بگذارید. Docker Desktop شامل Docker Daemon (Dockerd) ، مشتری Docker (Docker) ، Docker Compose ، Docker Content Trust ، Kubeetes و یاور اعتبار است. برای اطلاعات بیشتر ، به Docker Desktop مراجعه کنید.
ثبت نام های داکر
رجیستری Docker تصاویر Docker را ذخیره می کند. Docker Hub یک رجیستری عمومی است که هرکسی می تواند از آن استفاده کند ، و Docker پیکربندی شده است تا به طور پیش فرض به دنبال تصاویر در Docker Hub باشد. حتی می توانید رجیستری خصوصی خود را اجرا کنید.
هنگامی که از دستورات Docker Pull یا Docker Run استفاده می کنید ، تصاویر مورد نیاز از رجیستری پیکربندی شده شما کشیده می شوند. هنگامی که از دستور فشار Docker استفاده می کنید ، تصویر شما به رجیستری پیکربندی شده شما منتقل می شود.
اشیاء داکر
هنگامی که از Docker استفاده می کنید ، در حال ایجاد و استفاده از تصاویر ، ظروف ، شبکه ها ، حجم ها ، افزونه ها و سایر اشیاء هستید. این بخش مروری کوتاه از برخی از این اشیاء است.
تصاویر
یک تصویر یک الگوی فقط خواندنی با دستورالعمل ایجاد یک ظرف داکر است. غالباً ، یک تصویر بر اساس تصویر دیگری ساخته شده است ، با برخی از سفارشی سازی های اضافی. به عنوان مثال ، شما ممکن است تصویری بسازید که بر اساس تصویر Ubuntu ساخته شده باشد ، اما سرور وب Apache و برنامه شما و همچنین جزئیات پیکربندی مورد نیاز برای اجرای برنامه شما را نصب می کند.
شما ممکن است تصاویر خود را ایجاد کنید یا فقط ممکن است از مواردی که توسط دیگران ایجاد شده و در یک رجیستری منتشر شده استفاده کنید. برای ساختن تصویر خود ، شما یک Dockerfile را با یک نحو ساده برای تعریف مراحل مورد نیاز برای ایجاد تصویر و اجرای آن ایجاد می کنید. هر دستورالعمل در یک dockerfile یک لایه در تصویر ایجاد می کند. وقتی Dockerfile را تغییر می دهید و تصویر را بازسازی می کنید ، فقط آن لایه هایی که تغییر کرده اند بازسازی می شوند. این بخشی از چیزی است که باعث می شود تصاویر در مقایسه با سایر فن آوری های مجازی سازی ، بسیار سبک ، کوچک و سریع باشند.
ظروف
یک ظرف یک نمونه قابل اجرا از یک تصویر است. می توانید با استفاده از API Docker یا CLI ، یک ظرف را ایجاد کنید ، شروع کنید ، متوقف کنید یا یک ظرف را حذف کنید. می توانید یک ظرف را به یک یا چند شبکه متصل کنید ، ذخیره سازی را به آن وصل کنید ، یا حتی بر اساس وضعیت فعلی آن یک تصویر جدید ایجاد کنید.
به طور پیش فرض ، یک ظرف نسبتاً خوب از سایر ظروف و دستگاه میزبان آن جدا شده است. شما می توانید کنترل کنید که چگونه شبکه ، ذخیره سازی یا سایر زیر سیستم های زیرین یک ظرف از سایر ظروف یا دستگاه میزبان جدا شده است.
یک ظرف توسط تصویر آن و همچنین هر گزینه پیکربندی که هنگام ایجاد یا شروع آن به آن ارائه می دهید تعریف می شود. هنگامی که یک کانتینر برداشته می شود ، هرگونه تغییر در حالت خود که در ذخیره سازی مداوم ذخیره نمی شوند ، ناپدید می شوند.
مثال فرمان docker run
دستور زیر یک ظرف اوبونتو را اجرا می کند ، به طور تعاملی به جلسه خط فرمان محلی شما وصل می شود و اجرا می کند /سطل /bash.
هنگام اجرای این دستور ، موارد زیر اتفاق می افتد (با فرض اینکه از پیکربندی رجیستری پیش فرض استفاده می کنید):
اگر تصویر Ubuntu را به صورت محلی ندارید ، Docker آن را از رجیستری پیکربندی شده خود بیرون می کشد ، گویی که شما Docker را به صورت دستی کشیده اید.
Docker یک ظرف جدید ایجاد می کند ، گویی که شما یک ظرف docker را اجرا کرده اید که به صورت دستی فرمان ایجاد کنید.
Docker به عنوان لایه نهایی خود ، یک سیستم فایل خواندن را به کانتینر اختصاص می دهد. این به یک ظرف در حال اجرا اجازه می دهد تا پرونده ها و دایرکتوری ها را در سیستم فایل محلی خود ایجاد یا اصلاح کند.
Docker یک رابط شبکه برای اتصال ظرف به شبکه پیش فرض ایجاد می کند ، زیرا هیچ گزینه شبکه ای را مشخص نکرده اید. این شامل اختصاص آدرس IP به ظرف است. به طور پیش فرض ، ظروف می توانند با استفاده از اتصال شبکه دستگاه میزبان به شبکه های خارجی متصل شوند.
Docker ظرف را شروع می کند و /سطل /bash را اجرا می کند. از آنجا که این ظرف به صورت تعاملی در حال اجرا است و به ترمینال شما وصل شده است (به دلیل پرچم ها ی-i و-t) ، می توانید در حالی که خروجی به ترمینال شما وارد می شود ، با استفاده از صفحه کلید خود ورودی را ارائه دهید.
هنگامی که برای خاتمه دستور /bin /bash ، خروج را تایپ می کنید ، ظرف متوقف می شود اما حذف نمی شود. می توانید دوباره آن را شروع کنید یا آن را حذف کنید.
فناوری اساسی
Docker به زبان برنامه نویسی GO نوشته شده است و از چندین ویژگی هسته لینوکس برای ارائه عملکرد آن استفاده می کند. Docker از فناوری ای به نام Namespaces برای تأمین فضای کاری جدا شده به نام کانتینر استفاده می کند. هنگامی که یک ظرف را اجرا می کنید ، Docker مجموعه ای از نام های نام را برای آن ظرف ایجاد می کند.
این فضاهای نام لایه ای از انزوا را فراهم می کند. هر جنبه ای از یک کانتینر در یک فضای نام جداگانه اجرا می شود و دسترسی آن به فضای نام محدود می شود.
اخبار رمز ارزها...
ما را در سایت اخبار رمز ارزها دنبال می کنید
برچسب :
نویسنده : منیژه سلیمی
بازدید : <-PostHit->
تاريخ : جمعه
12 خرداد
1402 ساعت: 18:54