Контейнери -- спосіб запуску процесів в Linux-системі, який забезпечує їх ізоляцію від інших процесів системи. Технологія створення контейнерів базується на функціональності просторів імен (name spaces) ядра Linux.
Процес, який виконується в окремому просторі імен, відрізняється від інших процесів в системі лише тим, що він “не бачить” процеси за межами свого простору імен, тоді як система “бачить” цей процес в переліку всіх процесів, які в ній виконуються.
В окремому просторі імен можна запустити як один, так і декілька процесів. При цьому ці процеси “бачать” лише один одного і “не бачать” процеси за межами їх простору імен.
У разі зупинки процесу під час запуску якого було створено окремий простір імен автоматично зупиняються всі інші процеси, які виконувалися в цьому просторі імен.
На відміну від віртуальних машин процес в контейнері не потребує посередника між собою і батьківською операційною системою у вигляді гіпервізора, свою окрему повноцінну операційну систему зі своїм ядром. Це зумовлює низькі накладні витрати, оперативність і гнучкість використання контейнерів. Проте використання окремих контейнерів для запуску кожного процеса системи призводить до її ускладнення і потреби використання ефективних засобів керування.
В даній роботі розглядається запуск одного процеса та групи процесорів в окремому просторі імен, що фактично є еквівалентом запуску контейнера. Таким чином закладається теоретична база для подальшого розгляду технологій, базованих на Linux контейнерах, зокрема Docker.
В роботі використовується віртуальна машина Ubuntu Linux, яка була створена в лабораторній роботі “Створення віртуальної машини Ubuntu Linux за допомогою Oracle VirtualBox”.
Немає коментарів:
Дописати коментар