Payamvdn/NorthPersian_fa_wiki huggingface dataset:
ی موجود در یک سی گروپس را به طور موقت متوقف کرد. این ویژگی برای cgroup v2 در هسته ی لینوکس نسخه 5.2 اضافه شده است. کاربردها. قابلیت فریزر cgroup در که در آن ها مدیر یک سیستم می خواهد مجموعه ای از کارها رو هم زمان شروع یا متوقف کند کاربرد دارد. این گونه برنامه ها به خصوص در خوشه های استفاده می شوند که در آن ها تعداد زیادی گره مختلف به صورت توزیع شده وجود دارند. از سیگنال های کنترلی SIGSTOP و SIGCONT نیز می توان برای توقف یا ادامه دادن یک پردازه استفاده کرد. اما مشکل این سیگنال ها این است که می توانند توسط پردازه ی پدر مشاهده شوند و برنامه هایی مثل یا در صورت استفاده از این سیگنال ها برای متوقف کردن و ادامه دادن برنامه دچار مشکل می شوند. این قابلیت هم چنین می تواند برای حالت برداری از برنامه ها استفاده شود. با فریز کردن یک cgroup می توان پردازه های آن را به یک حالت غیرفعال برد و از آن ها یک تصویر ذخیره کرد و/یا با استفاده از رابط های کرنل اطلاعات مورد نظر درباره ی آن ها را ذخیره کرد و پس از آن با درآوردن cgroup از حالت فریز شده آن ها را دوباره فعال کرد. پیاده سازی در کرنل. برای پیاده سازی این قابلیت داده ساختار
زیر به cgroups-defs.h اضافه شده است: struct cgroup_freezer_state { /* Should the cgroup and its descendants be frozen. */ bool freeze; /* Should the cgroup actually be frozen? */ int e_freeze; /* Fields below are protected by css_set_lock */ /* Number of frozen descendant cgroups */ int nr_frozen_descendants; * Number of tasks, which are counted as frozen: * frozen, SIGSTOPped, and PTRACEd. int nr_frozen_tasks; این داده ساختار به داده ساختار cgroup با عنوان freezer اضافه شده است. هم چنین در پرچم های cgroup دو بیت به codice_1 و codice_2 اختصاص داده شده است که به ترتیب نشان دهنده ی این هستند که cgroup باید فریز شود یا خیر و آیا cgroup فریز شده است یا خیر. به داده ساختار codice_3 نیز یک پرچم frozen اضافه شده که مشخص می کند تسک فریز شده است یا خیر. فرایند فریز شدن یک تسک. در JOBCTL یک تله برای فریز کردن یک تسک در نظر گرفته شده است. تابع codice_4 مسئول رسیدگی به این تله است. در این تابع پس از اطمینان از این که سیگنال یا تله ی پراهمیت دیگری که به آن ها رسیدگی نشده باشد وجود نداشته باشد تابع codice_5 را صدا می زند
که در ادامه توضیح داده خواهد شد. پس از آن نیز تابع codice_6 صدا زده می شود که پرچمی را در تسک ست می کند که در زمان بندی شرکت داده نشود و سپس تسک بعدی را زمان بندی می کند. تابع codice_6 پیش از پیاده سازی فریزر cgroup نیز وجود داشته است و به طور مثال برای خوابیدن برای مدت زمان خاص در تابع codice_8 یا خوابیدن در صف در تابع codice_9 استفاده شده است. در نتیجه برای این که تسک های فریز شده در زمان بند زمان بندی نشوند نیازی به تغییرات در زمان بند وجود ندارد. در تابع codice_5 پرچم frozen تسک در صورتی که یک نباشد یک می شود و بعد از زیاد کردن تعداد تسک های فریز شده ی cgroup تسک، تابع codice_11 برای cgroup صدا زده می شود: * Revisit the cgroup frozen state. * Checks if the cgroup is really frozen and perform all state transitions. void cgroup_update_frozen(struct cgroup *cgrp) bool frozen; lockdep_assert_held(&amp;css_set_lock); * If the cgroup has to be frozen (CGRP_FREEZE bit set), * and all tasks are frozen and/or stopped, let's consider * the cgroup frozen. Otherwise it's not frozen. frozen = test_bit(CGRP_FREEZE, &am
p;cgrp-&gt;flags) &amp;&amp; cgrp-&gt;freezer.nr_frozen_tasks == __cgroup_task_count(cgrp); if (frozen) { /* Already there? */ if (test_bit(CGRP_FROZEN, &amp;cgrp-&gt;flags)) return; set_bit(CGRP_FROZEN, &amp;cgrp-&gt;flags); } else { /* Already there? */ if (!test_bit(CGRP_FROZEN, &amp;cgrp-&gt;flags)) return; clear_bit(CGRP_FROZEN, &amp;cgrp-&gt;flags); cgroup_file_notify(&amp;cgrp-&gt;events_file); /* Update the state of ancestor cgroups. */ cgroup_propagate_frozen(cgrp, frozen); در این تابع بررسی می شود که آیا یک cgroup باید به حالت frozen دربیاید یا خیر. یک cgroup باید فریز شود اگر پرچم codice_1 آن یک باشد و تعداد تسک های فریز شده ی آن با تعداد کل تسک های زیردرختش برابر باشد. در صورتی که وضعیت یک cgroup از فریز شده به نشده یا بلعکس تغییر کرده باشد این تغییر در فایل مربوط به رخدادهای آن نوشته می شود و هم چنین یک تابع به نام codice_13 صدا زده می شود که وظیفه ی آن انتشار وضعیت cgroup به اجداد آن است تا تعداد تسک های فریز شده ی آن ها نیز تغییر کند و در صورت لزوم وضعیت فریز بودن یا نبودن آن ها در فایل رخدادها
یشان به روزرسانی شود. فرایند فریز شدن یک cgroup. هنگامی که تغییری در فایل cgroup.freeze که در قسمت اول ذکر شد صورت بگیرد تابع codice_14 اجرا می شود. این تابع در صورتی که مقدار نوشته شده در فایل معتبر، یعنی صفر یا یک باشد تابع cgroup_freeze(cgrp, freeze) را صدا می زند. در این تابع به ازای هر کدام از گروه ها در زیردرخت cgrp مقدار codice_15 که در واقع تعداد فریزهای انجام شده روی یک گروه است بسته به یک یا صفر بودن freeze یکی زیاد یا کم می شود. در صورتی که این مقدار قبلا بزرگ تر از صفر بوده باشد و اکنون نیز بزرگ تر از بماند یعنی cgroup پیش از این نیز در حالت فریز قرار داشته است و لازم نیست کاری انجام شود. در غیر این صورت تابع cgroup_do_freeze(cgrp, freeze) صدا زده می شود که در این تابع پرچم codice_1 مقداردهی می شود و پس از آن به ازای هر تسک داخل cgroup تابع codice_17 اجرا می شود. لازم به ذکر است که پردازه های کرنل (kthreads) قابلیت فریز شدن ندارند و هر جایی که بخواهد تغییری در وضعیت تسک صورت بگیرد این نکته چک می شود و این پردازه ها کنار گذاشته می شود. در تابع codice_17 در صورتی که که تسک در حال فریز شدن باشد پرچم
codice_19 مربوط به jobctl را یک می کند و با استفاده از codice_20 به پردازه اعلام می کند که یک سیگنال برای رسیدگی دارد. هنگامی که پردازه شروع به اجرا کند به سیگنال گفته شده با استفاده از تابع codice_4 که در بالا توضیح داده شد رسیدگی می کند و به حالت خواب می رود. در صورتی که تسک در حال بیرون آمدن از حالت فریز شدن باشد پرچم ذکر شده صفر می شود و با استفاده از تابع codice_22 تسک بیدار می شود. هنگامی که یک تسک بیدار می شود اگر پرچم frozen آن یک بوده باشد یعنی به تازگی از حالت فریز بیرون آمده است که در این صورت تابع codice_23 صدا زده می شود. در این تابع پس از کاهش تعداد بچه های فریزشده ی cgroup تابع codice_11 صدا زده می شود که پیش تر توضیح داده شد و هم چنین پرچم frozen تسک را نیز صفر می کند. مهاجرت یک تسک به cgroup دیگر. نکته ی آخر فرایند مهاجرت یک تسک از یک cgroup به دیگری است. هنگامی که یک تسک به cgroup ای برود که فریز شده است متوقف می شود. هم چنین اگر یک تسک از یک cgroup فریز شده به گروه غیر فریز برود از حالت فریز بیرون می آید. برای پیاده سازی این قسمت در تابع codice_25 که برای مهاجرت تسک ها استفاده می شود تابع c
odice_26 صدا زده می شود. در این تابع پس از کاهش و افزایش تعداد تسک های فریز شده ی cgroup مبدا و مقصد، تابع codice_11 برای هر دوی مبدا و مقصد صدا زده می شود. در نهایت نیز cgroup_freeze_task(task, test_bit(CGRP_FREEZE, &amp;dst-&gt;flags)); صدا زده می شود که باعث می شود تسک با توجه به وضعیت cgroup مقصد (dst) به حالت مناسب برود.
داکر () برنامه ای رایانه ای و ابزاری است که ایجاد، توسعه و اجرای اپلیکیشن ها را با استفاده از کانتینر (container) آسان می کند. کانتینر به توسعه دهندگان این امکان را می دهد که تمام پیش نیازها و نیازمندی های اپلیکیشن خود را برای استفاده و اجرا جمع آوری کنند؛ مانند کتابخانه ها (Libraries) و زیرساخت های لازم. می توان گفت که داکر به توسعه دهندگان این اطمینان را می دهد که می توانند اپلیکیشن خود را بدون نگرانی از سیستم های میزبان برنامه خود در مرحله توسعه و تست و بر روی سیستم های مختلف، بدون هیچ گونه اشکال و به صورت کاملاً مشابه اجرا کنند و مشکلی از بابت تغییر سیستم عامل های اجراکننده برنامه خود نخواهند داشت. داکر تا حدی شبیه به ماشین مجازی (Virtual Machine) است با این تفاوت که در ماشین مجازی، قسمتی از سخت افزار سیستم به ماشین مجازی اختصاص داده می شود و روی آن یک سیستم عامل کامل نظیر ویندوز یا لینوکس نصب می شود. در واقع می توان گفت در ماشین مجازی امکانات سخت افزاری سیستم تقسیم می شود و بر روی هر قسمت، سیستم عامل بخصوصی بالا می آید اما در داکر این طور نیست. در داکر امکانات سخت افزاری به تناسب نیاز هر کانتینر به صورت
موقت اختصاص داده می شود و داکر این امکان را فراهم می آورد که اپلیکیشن ها برای مثال روی کرنل لینوکس اجرا شوند. در این حالت دیگر نیازی به نصب پیش نیازها و نیازمندی هایی که اپلیکیشن ما می خواهد و به طور پیش فرض روی سیستم وجود ندارد، نیست. داکر ابزاری است متن باز (Open Source) و کدهای آن بر روی گیت هاب قرار دارد و هر فرد علاقه مند می تواند در توسعه آن مشارکت کند. داکر در سال ۲۰۱۳ شروع به کار کرد و توسط شرکت داکر توسعه داده می شود. این سرویس به دو نوع رایگان و پولی در دسترس است. داکر برای چه کسانی مناسب است؟. داکر طراحی شده است تا هم به توسعه دهندگان نرم افزارها سود برساند و هم به مدیران سیستم ها. و امروزه به یکی از ابزارهای مهم DevOps تبدیل شده است. داکر باعث می شود که توسعه دهندگان تمرکز خود را روی نوشتن کد بگذارند و نگران این نباشند که در نهایت قرار است اپلیکیشن آن ها روی چه سیستمی اجرا شود. همچنین به آن ها کمک می کند که پروژه خود را با استفاده از برنامه های از پیش طراحی شده در کانتینرها آغاز کنند که به عنوان بخشی از اپلیکیشن آن ها استفاده خواهد شد. ضمناً باعث انعطاف عمل تیم عملیات (Operation) شده و نیاز به سیس
تم های مورد نیاز را کم تر می کند. چرا داکر به وجود آمد؟. در گذشته، زمانی که یک برنامه نوشته می شد، برای اجرای آن نیاز به تنظیمات خاصی در هر سیستم یا سرور بود. برای مثال، شما باید اطمینان می کردید که هر سیستم دارای کتابخانه ها و نرم افزارهای مشابه باشد تا برنامه بدون مشکل اجرا شود. این مشکل به ویژه زمانی پیچیده می شد که شما باید برنامه خود را روی چندین سرور یا محیط مختلف اجرا می کردید. در اینجا، ماشین های مجازی یکی از راه حل های مورد استفاده بودند ماشین های مجازی به شما اجازه می دهند که سیستم عامل جداگانه ای را برای هر محیط اجرا کنید. ماشین های مجازی مزایای خاص خود را دارند اما در عین حال، مشکلاتی مانند مصرف بالای منابع و زمان راه اندازی طولانی را نیز به همراه دارند. در این زمان بود که داکر وارد میدان شد. داکر به طور ساده این مشکلات را حل کرد. به جای استفاده از ماشین های مجازی که سیستم عامل جداگانه ای برای هر محیط راه اندازی می کنند، داکر از کانتینرها استفاده می کند. کانتینرها محیطی ایزوله فراهم می کنند که به طور مستقل از سیستم عامل ها عمل می کنند و در عین حال منابع کمتری مصرف می کنند. این ویژگی باعث می شود که
داکر بسیار سریع تر از ماشین های مجازی باشد و به شما اجازه می دهد که نرم افزارهایتان را با سرعت بیشتر و منابع کمتر اجرا کنید. مزایای استفاده از داکر از این قرارند: کانتینر (Container). کانتینر، یک واحد استاندارد نرم افزار است که کدها و تمام نیازمندی های آن را جهت اجرا و توسعه اپلیکیشن ها، تجمیع می کند و باعث می شود که این اجرا به طور سریع و قابل اعتماد انجام شود. کانتینرها، نرم افزار را از محیط خودش ایزوله می کنند و اطمینان می دهند که علی رغم تفاوت های احتمالی در سیستم های میزبان، نرم افزار به طرز مشابه و یکسان اجرا خواهد شد. کانتینرهای داکر قسمتی از نرم افزار را در یک سیستم فایل کامل تعبیه می کند. به صورتی که شامل هر آنچه جهت اجرا شدن (مانند کد زمان اجرا، ابزارهای سیستم و تنظیمات سیستم) لازم است و هر آنچه که می تواند بر روی یک سرور نصب شود می باشد. این امر اجرای برنامه را به صورت ثابت در هر نوع محیطی تضمین می کند. به طور کلی می توان گفت داکر این قابلیت را به ما می دهد تا یک اپلیکیشن را در یک محیط ایزوله به نام کانتینر (Container) اجرا کنیم. ایزوله بودن و امنیت کانتینرها باعث می شود که بتوانیم تعداد زیادی کان
تینر را روی ماشین میزبان اجرا کنیم. کانتینرها سبک و سریع هستند زیرا نیازی ندارند که مانند ماشین های مجازی سربار Hypervisor را به ماشین تحمیل کنند و مستقیما روی هسته (Kernel) کامپیوتر سرویس دهنده اجرا می شوند. این بدان معناست که می توان تعداد بیشتری کانتینر را روی یک ماشین نسبت به حالتی که از ماشین مجازی استفاده می کنیم اجرا کرد. البته حتی این قابلیت را نیز داریم که از داکر درون ماشین مجازی نیز استفاده کنیم. Container یک نمونه قابل اجرای یک Image است. می توان یک کانتینر را به وسیله Docker API یا کلاینت ایجاد، اجرا، حذف و یا متوقف کرد. معمولا کانتینرها از دیگر کانتینرهای در حال اجرا به خوبی ایزوله می شوند. شما می توانید میزان ایزوله بودن کانتینرها را در مواردی مانند دسترسی شبکه ای، حافظه مورد استفاده آن ها و سیستم های پایه ای مورد استفاده شان تنظیم کنید. یک کانتینر در واقع با Image آن و همهٔ تنظیماتی که در زمان اجرای آن انجام می دهید تعریف می شود. هنگامی که کانتینر حذف می شود، هر تغییر فایلی که در آن به وجود آمده از بین میرود. Docker Container Image. Docker Container Image یک پکیج نرم افزاری سبک، خوداتکا (Stand
-alone) و قابل اجراست. Imageها حاوی تمامی نیازمندی های اپلیکیشن برای اجرا مانند کدها، ابزارهای سیستمی، کتابخانه ها (Libraries) و تنظیمات سیستمی هستند. Imageها در زمان اجرا تبدیل به کانتینر شده و روی Docker engine اجرا می شوند. Imageها برای هر دو نوعِ اپلیکیشن های بر پایهٔ لینوکس و ویندوز در دسترس هستند. containerized شدن این نرم افزارها همیشه به صورت کاملاً مشابه و یکسان، بدون در نظرگرفتن زیرساخت، انجام می شود. یک Image در واقع یک Read-Only Template حاوی دستوراتی برای ساخت یک کانتینر داکر است. معمولا استفاده ما از Image ها به این صورت است که با تغییر یک Image، Image دیگری را که برای ما مناسب تر است می سازیم. مثلاً می توانیم Imageای بسازیم که برپایه Image اوبونتو است اما یک سرور Apache نیز روی آن نصب می شود. شما میتوانید از Imageهای آماده استفاده کنید و یا Image مناسب خود را بسازید. برای ساختن Image جدید کافی است یک Dockerfile ساده بسازید که در آن دستوراتی برای نشان دادن چگونگی ساختن و اجرا کردن Image موجود است. وقتی که Dockerfile خود را تغییر می دهیم و Image جدیدی می سازیم، تنها بخش های جدید دوباره ساخته می ش
وند و این یکی از دلایل عمده سرعت و عملکرد بهتر داکر نسبت به بقیه فناوری های شبیه سازی (Virtualization) است. موتور داکر (Docker Engine). موتور داکر یک تکنولوژی Containerize برای ساختن و اجرای کانتینر اپلیکیشن هاست. این موتور اعمال خود را به عنوان یک اپلیکیشن کلاینت-سرور انجام می دهد با: کلاینت از APIهای داکر برای کنترل و تعامل با Daemon استفاده می کند. این استفاده از طریق اسکریپت ها یا فرمان های مستقیم کلاینت انجام می شود. Daemon وظیفه دارد که اشیای داکر مانند Imageها، Containerها، شبکه ها و Volumeها را ایجاد و مدیریت کند. تفاوت داکر و ماشین مجازی. یک کانتینر به صورت native روی لینوکس اجرا می شود و به صورت مشترک با سیستم عامل از کرنل استفاده می کند. کانتینر یک فرآیند مجزا را اجرا می کند و مانند یک فرآیند معمولی حجم کمی از RAM را می گیرد. در مقابل، ماشین مجازی یا همان VM یک سیستم عامل کامل مجازی guest را با دسترسی مجازی و شبیه سازی شده به منابع اصلی سیستم، توسط یک hypervisor اجرا می کند. ماشین های مجازی مقدار بسیار زیادی سربار نسبت به حجم فرآیند مورد نیاز ما برای سیستم ایجاد می کنند. نصب داکر. برای نصب داکر راه
های مختلفی وجود دارد. بهترین روش آنست که بسته docker را از مخزن اصلی توزیع لینوکس مورد استفاده خود دریافت و آن را با استفاده از مدیر بسته (Package Manager) مربوطه روی سیستم عامل خود نصب کنید. در اینجا اسکریپت های ارائه شده توسط سایت داکر را توضیح می دهیم. این اسکریپت ها برای نصب داکر روی اوبونتو است. محتوای کامل نحوه نصب در سایت داکر قرار دارد و محتوای این نوشته هم در این لینک است که توصیه می شود آن را مطالعه کنید. برای نصب سه راه وجود دارد: در این نوشته راه دوم ارائه می شود. اگر نمی توانید نصب را با راه اول انجام دهید این راه را امتحان کنید. ابتدا فایل deb. را برای سیستم خود دانلود کرده و به صورت دستی نصب کنید. برای این کار: ۱. به codice_1 بروید و نگارش اوبونتوی خود را انتخاب کنید و سپس به codice_2 بروید و از میان codice_3 انتخاب کنید و فایل با پسوند deb. را برای نگارش موتور داکر دلخواه خود برای نصب، انتخاب کنید. ۲. موتور داکر را نصب کنید و مسیر کد زیر را به مسیری که بسته مربوط به موتور داکر را دانلود کرده اید تغییر دهید: $ sudo dpkg -i /path/to/package.deb Daemon داکر به طور خودکار شروع به کار خواهد کرد. ۳
. با فرمان زیر بررسی کنید که موتور داکر به درستی نصب شده: $ sudo docker run hello-world فرمان بالا باعث می شود که داکر، یک Image تست دانلود کرده و آن را در کانتینر اجرا کند. این برنامه عبارت Hello World را چاپ می کند. الان موتور داکر نصب شده و در حال اجراست. docker group ایجاد شده اما کاربری به آن اضافه نشده. شما برای اجرای فرمان های داکر نیاز دارید تا از دسترسی مدیرسیستم (sudo) استفاده کنید. برای دیدن مراحل بعد از نصب به پیوندی که در ابتدای این بخش قرار داده شد مراجعه کنید. چگونه باید اپلیکیشن خود را به یک کانتینر اضافه کنیم؟. زمانی که شما container مورد نظر خودتان را پیدا کردید قطعا می خواهید آن را به دلخواه خود تغییر دهید و نیازمندی های اپلیکیشن خود را به آن اضافه کنید. اینجا جایی است که Dockerfile مورد استفاده قرار می گیرد. داکرفایل مشخص می کند که کانتینر شما چگونه باشد، یعنی از چه Image ای به عنوان پایه استفاده کند و چه تغییراتی روی آن اعمال کند و هنگام اجرا چه دستوراتی را اجرا کند. در زیر یک dockerfile نمونه به همراه توضیحات آن آمده است: # Use the official Node.js runtime as a base image FROM node:alpin
e # Set the directory of my web application to /app WORKDIR /app # Copy over my project’s directory into the container /app folder Add . /app # Install all the dependencies for my web application RUN yarn install # Make the port 3000 accessible outside of Docker EXPOSE 3000 # Execute the command yarn start CMD ["yarn", "start"] از روی این داکرفایل یک Image جدید ساخته شده و اجرا می شود. می توان از روی یک Image که در اینجا به صورت داکر فایل است هر تعدادی Container ساخت. با ساختن یک Image که تنظیمات شخصی خود را روی آن اعمال می کنیم، می توانیم هر بار یک کانتینر با تنظیمات شخصی سازی شده را بدون دوباره کاری اجرا کنیم. Docker Compose. Compose ابزاری است برای تعریف و اجرای مالتی-کانتینر اپلیکیشن های داکر است. به وسیله ی Compose شما می توانید از یک فایل YAML استفاده کنید تا بتوانید سرویس اپلیکیشن خود را پیکربندی (Configure) کنید. سپس فقط با استفاده از یک کامند می توانید تمام سرویس های خود را بر اساس پیکربندی دلخواه خود ایجاد و فعال کنید. برای مطالعه بیشتر در مورد تمام ویژگی های Compose این لینک را مشاهده کنید. Compose
در تمام محیط ها کار می کند؛ برای مثال مراحل تولید، Staging، توسعه، تست و همچنین CI Workflows. برای مطالعه بیشتر برای هرکدام از این موارد می توانید این لینک را مشاهده کنید. استفاده از Compose اساساً سه مرحله پردازش دارد: ۱. محیط اپلیکیشن خود با داکرفایل تعریف کنید که باعث می شود در هر سیستم و محیطی خود را از ابتدا بازتولید کند. ۲. سرویس هایی که اپلیکیشن شما را در codice_4 درست می کنند را تعریف کنید. در نتیجه آن ها می توانند همراه هم در محیطی جداگانه و ایزوله اجرا شوند. ۳. codice_5 را اجرا کنید و Compose شروع به کار می کند. در نهایت کل محیط اپلیکیشن شما را اجرا می کند. فایل codice_5 شبیه این است: version: "3.9" # optional since v1.27.0 services: web: build: . ports: - "5000:5000" volumes: - .:/code - logvolume01:/var/log links: - redis redis: image: redis volumes: برای مطالعه بیشتر در مورد Compose file این لینک را مشاهده کنید. برای نصب Docker Compose از دستور زیر استفاده کنید: sudo apt install docker-compose Docker Hub. داکرهاب، سرویس ارائه شده ی شرکت Docker، مخزنی از image های آماده ی داکر است. در این مخزن هز
اران برنامه وجود دارد که می توان به آن image افزود. هر فردی می تواند image های خود را با دیگران به اشتراک بگذارد. برای این کار می بایست مخزنی در Docker Hub ایجاد کنید. البته برای دریافت image ها نیازی به ایجاد حساب و داشتن مخزن شخصی نیست ولی برای اصلاح و ارسال فایل، باید حساب ساخت. Docker Swarm. Docker Swarm چیست؟ یک Docker Swarm گروهی از ماشین های مجازی یا فیزیکی است که اپلیکیشن داکر را اجرا می کنند و همچنین برای پیوستن به همدیگر در یک دسته (خوشه یا Cluster) پیکربندی (Configuration) می شوند. وقتی گروهی از ماشین ها با هم کلاستر می شوند شما می توانید فرمان های داکر را که مورد استفاده شماست همچنان استفاده کنید، اما آن ها الان دیگر توسط ماشین های کلاستر شما اجرا می شوند. فعالیت کلاستر تحت کنترل Swarm Manager است و ماشین هایی که به کلاستر می پیوندند به عنوان یک گره گراف یا Node به حساب می آیند. استفاده Docker Swarm برای چیست؟ Docker Swarm ابزاری است برای تنظیم ارتباط کانتینرها و ماشین های میزبان حاضر در یک خوشه. به معنای دیگر Docker Swarm به کاربر این امکان را می دهد که چند کانتینر را که روی چند ماشین میزبان توسع
ه داده شده مدیریت کند. یکی از مزیت های کار با Docker Swarm، دسترسی بالای آن روی اپلیکیشن هاست. در یک Docker Swarm به لحاظ نوعی، چندین گره (Node) فعال و حداقل یک گره مدیر برای مدیریت بهینه منابع گره های دیگر و اطمینان دهی از بهینگی فعالیت کلاستر وجود دارد. به طور خلاصه و به زبان ساده تر می توان گفت :Docker Swarm ابزاریست که به شما این امکان را می دهد تا چندین سرور یا ماشین مختلف را به یک گروه بزرگتر به نام خوشه (Cluster) تبدیل کنید. این خوشه به شما کمک می کند که برنامه ها و کانتینرها را به طور خودکار و به صورت هماهنگ بین سرورهای مختلف پخش و مدیریت کنید. به طور ساده، Docker Swarm به شما این امکان را می دهد که بار کاری یک برنامه را بین چندین سرور تقسیم کنید، و به طور اتوماتیک کانتینرها بر روی این سرورها توزیع شود تا برنامه به راحتی مقیاس پذیر و کارا باشد.
رابرت کلوز (؛ – ) رزمی کار، کارگردان و تهیه کننده فیلم اهل ایالات متحده آمریکا بود که به خاطر آثارش در ژانر اکشن و رزمی شناخته می شود زندگی نامه. رابرت بایرون کلوز در ۶ مارس ۱۹۲۸ در اشلند، اورگن به دنیا آمد و بر اثر نارسایی کلیوی در ۴ فوریه ۱۹۹۷ در سن ۶۸ سالگی در دنیسون، آیووا درگذشت. وی پیش از ورود به عرصه کارگردانی، عکاس شبکه سی بی اس بود کلوز دو مرتبه نامزد دریافت جایزه اسکار فیلم کوتاه برای فیلم های "The Legend of Jimmy Blue Eyes" (۱۹۶۴ و "The Cadillac" (۱۹۶۲) شد
آندری کراواریک () بازیکن سابق و مربی فعلی اسلواکی-یونانی والیبال است. آندری از سال ۲۰۰۴ تا ۲۰۰۷ عضو تیم ملی والیبال یونان بود. وی در سال های ۲۰۰۰ و ۲۰۱۲ به عنوان بهترین بازیکن لیگ یونان انتخاب شد. کراواریک بزرگترین بخشی از زندگی حرفه ای خود را در با بازی در باشگاه ایراکلیس تسالونیکی گزراند و با این تیم به موفقیت های زیادی دست یافت. او در حال حاضر سرمربی تیم آریس تسالونیکی و همچنین کمک مربی تیم ملی والیبال اسلواکی است.
مارکوس «مَکس» نیلسون (زادهٔ ۷ اکتبر ۱۹۸۲ در تروپ) بازیکن والیبال اهل سوئد است. نیلسون در لیگ قهرمانان ۲۰۱۳ که در آن با لوکوموتیو نووسیبیرسک به قهرمانی رسید به عنوان باارزش ترین بازیکن رقابت ها انتخاب شد.
کلادیو کشرو (؛ زادهٔ ) یک بازیکن فوتبال اهل رومانی است. از باشگاه هایی که در آن بازی کرده است می توان به نانت اشاره کرد. وی همچنین در تیم ملی فوتبال رومانی بازی کرده است.
ویگِلز () یک گروه موسیقی استرالیایی ویژهٔ کودکان است که در سال ۱۹۹۱ در شهر سیدنی در ایالت نیو ساوت ولز شکل گرفت. اعضا کنونی این گروه، آنتونی فیلد، سایمون پرایس و لاکلان گیلسپی هستند. اعضا اولیه گروه نیز «آنتونی فیلد»، «فیلیپ ویلچر»، «موری کوک»، «گِرِگ پیج» و «جف فَت» بودند. «فیلیپ ویلچر» گروه را، پس از انتشار نخستین آلبوم شان، ترک کرد. «گِرِگ پیج» به دلیل اوضاع ناخوش جسمانی، در سال ۲۰۰۶ گروه را ترک کرد و عضو علی البدل، «سَم موران» جای او را گرفت، اما مجدداً در سال ۲۰۱۲ به گروه بازگشت و جایگزین موران گردید. در پایان سال ۲۰۱۲، «موری کوک»، «گِرِگ پیج» و «جف فت»، اعلام بازنشستگی کردند و گروه را ترک کردند؛ گرچه هر سه نفر، همچنان در پشت صحنه، در خلاقیت ها و هنرآفرینی های گروه نقش دارند. «آنتونی فیلد» و «جف فت» در دههٔ ۸۰ میلادی، عضو گروه پاپ استرالیایی «کاک روچِز» (سوسک ها) بودند و «موری کوک» عضو چندین گروه موسیقی گوناگون بود تا آنکه این سه، با هم در «دانشگاه مک کوری» آشنا شدند؛ جایی که مشغول تحصیل بودند تا روزی معلم پیش دبستانی و مهدکودک شوند. در همین دانشگاه بود که همکاری شان منجر به ضبط نخستین آلبوم شان شد. آنها
در موسیقی خود، آموزه ها و تئوری های موجود در زمینه رشد و تکامل روانی کودکان را بکار می گیرند. از آغاز شکل گیری گروه، چند شخصیت و عروسک این گروه را همراهی می کنند؛ از جمله یک ناخدا به نام «کاپیتان فِذِرسُورد»، یک سگ به نام «وَگز»، یک اختاپوس به نام «هِنری»، یک دایناسور به نام «داروثی» و یک گروه نمایش و رقص به نام «ویگیلی دَنسِرز». گروه ویگلز تاکنون جوایز متعددی در زمینه صنعت ضبط و تولید موسیقی دریافت داشته اند و فرانشیز و امتیاز کارهای خود را در کشورهای مختلف به فروش رسانده اند. به این گروه موسیقی، عناوینی چون "بزرگترین گروه موسیقی خردسالان" و نیز "اولین گروه موسیقی راک فرزندتان" نیز داده اند. این گروه موسیقی، با اجرای کنسرت های گوناگون و فروش آلبوم های موسیقی، ویدئوها و مجموعه های تلویزیونی اش، موفقیت چشمگیری در سرتاسر جهان کسب نموده است. هفته نامهٔ «بیزینس ری ویو ویکلی» آن را پردرآمدترین گروه هنرمندان استرالیایی در چهار سال پیاپی نام نهاد به نحوی که تنها در سال ۲۰۰۹ میلادی، ۴۵ میلیون دلار استرالیا، درآمد داشتند. در سال ۲۰۱۱ که رکود اقتصادی، دامن گیرِ تمام کشورها شد، گروه ویگلز ۲۸ میلیون دلار استرالیا درآمد
داشت و در رتبهٔ دوم فهرست سالانهٔ هفته نامهٔ «بیزینس ری ویو ویکلی» قرار گرفت. ویگلز تاکنون ۱۷ جایزه طلا، ۱۲ جایزه پلاتین، ۳ جایزه دابل پلاتین و ۱۰ جایزه مالتی پلاتین دریافت داشته و بالغ بر ۱۷ میلیون نسخه دی وی دی و ۴ میلیون سی دی فروخته است. تا سال ۲۰۰۲ میلادی، ویگلز، موفق ترین برنامهٔ تلویزیونی خردسالان در شبکهٔ ای بی سی استرالیا بود.
مانوئل لانزینی (؛ زادهٔ ) بازیکن فوتبال اهل آرژانتین است که برای باشگاه ریورپلاته بازی می کند. از باشگاه هایی که در آن بازی کرده است می توان به ریور پلاته، فلومیننزه، الجزیره و وستهام اشاره کرد.
جف گارلین (؛ زادهٔ ) یک هنرپیشه، کارگردان، و فیلم نامه نویس اهل ایالات متحده آمریکا است. از فیلم ها یا برنامه های تلویزیونی که وی در آن نقش داشته است می توان به زیاد ذوق زده نشو، وال-ئی، پارانورمن، مهدکودک بابا، دور از خانه، کندذهن ها، و جادوگران محله ویورلی اشاره کرد.
جاناتان پیترویپا (؛ زادهٔ ) یک بازیکن فوتبال اهل بورکینافاسو است. از باشگاه هایی که در آن بازی کرده است می توان به هامبورگ، باشگاه فوتبال فرایبورگ و رن اشاره کرد. وی همچنین در تیم ملی فوتبال بورکینافاسو بازی کرده است.
خوان وردو (؛ زادهٔ ) بازیکن فوتبال اهل اسپانیا است. از باشگاه هایی که در آن بازی کرده است می توان به باشگاه فوتبال بارسلونا بی، دپورتیوو لاکرونیا، اسپانیول، باشگاه فوتبال بارسلونا سی، و بارسلونا اشاره کرد. وردو سابقه عضویت در تیم ملی نوجوانان اسپانیا را در کارنامه خود دارد.
آنتونی فیلد (؛ زادهٔ ) موسیقی دان اهل استرالیا است. وی از سال ۱۹۷۹ میلادی تاکنون مشغول فعالیت بوده است. وی از بنیانگذاران و اعضایِ اصلیِ گروه موسیقی کودکانِ ویگلز است.