در لینوکس چند تا قابلیت وجود داره مثل cgroups و namespace isolation که با استفاده از اونها شما می تونید یک سری پروسس رو گروه بندی کنید و طوری اجرا کنید که مثلا روی یک سیستم با 8 گیک رم و cpu با سرعت 3 گیگاهرتز فکر کنند سیستم 1 گیگ رم بیشتر نداره و cpu هم سرعتش 500 مگاهرتزه که این قسمت رو cgroups انجام میده.حالا اگه چند تا گروه از این پروسسها وجود داشته باشن namespace isolation کارش اینکه این پروسسها نتونن منابعی که توسط سایر گروهها استفاده میشن رو ببینن مثلا اگه در یک گروه pid یک پروسس 100 باشه در یک گروه دیگه هم یک پروسس می تونه همین pid رو داشته باشده در حالی در حالت عادی pid باید یونیک باشه.
حالا با استفاده از تمام موارد بالا به اضافه یه سری چیزای دیگه می تونید کانتینرهایی بسازید که یک برنامه مثلا mysql کاملا مجزا از سایر قسمتهای دیگه سیستم اجرا بشه و می تونید این کانتینر رو 10 بار روی یک سیستم اجرا کنید بدون اینکه هیچ کدومشون از وجود اون یکی مطلع باشه یا کانفیگشون قاطی بشه.
اگه وقت بشه شاید یه مقاله کامل در این مورد بنویسم که معمولا هم وقت نمیشه!