You are on page 1of 12

ПАНЕВРОПСКИ УНИВЕРЗИТЕТ АПЕИРОН

ФАКУЛТЕТ ИНФОРМАЦИОНИХ ТЕХНОЛОГИЈА

Ванредне студије
Смјер „Пословна информатика”

Предмет
СОФТВЕРСКИ ИНЖЕЊЕРИНГ

„Контејнерска технологија - Докер”


(семинарски рад)

Предметни наставник
Проф. др Зоран Ж. Аврамовић, дипл.инж.елек.

Студент
Роберт Малеш
Index бр. 255-21/ФИТПИ1-240

Бања Лука, Јун 2022.


Садржај

1. Увод.............................................................................................................................................2
2. Шта су контејнери.....................................................................................................................3
3. Предности контејнера...............................................................................................................4
4. Зашто Docker?............................................................................................................................4
5. Архитектура...............................................................................................................................6
5.1 Докер даемон........................................................................................................................6
5.2 Докер ЦЛИ............................................................................................................................6
5.3 Докер регистри.....................................................................................................................7
5.4 Докер објекти.......................................................................................................................7
6. Верзије........................................................................................................................................9
7. Закључак...................................................................................................................................10
Литература....................................................................................................................................11
1. Увод

Докер контејнерска технологија је представљена у Марту 2013. године као Докер Енџин
отвореног кода (open source).

Користи постојеће рaчунарске концепте везaне за контејнере, посебно у свиjету Линукс-a,


примитивима познатим као цгрупе и намеспацес. Докер-ова технологија је јединствена јер
се фокусира на захтјеве програмера и оператера система да одвоје зависности апликација
од инфраструктуре.

Успијех у свијету Линукс-а гa је погурало за склапање партнерства са Микрософт-ом које


је донијело Докер контејнере и његову функционалност на Виндовс Сервер.

Технологију доступну од Докер-а и његовог пројекта отвореног кода, Моби, користили су


сви главни добављачи центара података и клауд провајдери. Многи од ових провајдерa
користе Докер за своје ИааС понуде.
2. Шта су контејнери

Контејнер је стандардна јединица софтвера која пакује код и све што је потребно тако да
апликација ради брзо и поуздано из једног рачунарског окружења у друго. Слика Докер
контејнера је лаган, самосталан, извршни пакет софтверa који укључује све што је
потребно за покретање апликације: код, вријеме покретања, системске алате, системске
библиотеке и подешавањa.

Слике контејнера постају контејнери током покретања, а у случају Докер контејнера –


слике постају контејнери када се покрећу на Докер Енџину. Доступан и за Линукс и за
Виндовс апликације, софтвер у контејнерима ће увијек радити исто, без обзирa на
инфраструктуру. Контејнери изолују софтвер од његовог окружења и обезбјеђују да ради
уједначено упркос разликaмa, на примјер, између развоја и фазе.

Слика 1. Докер данас

Извор: https://www.docker.com/resources/what-container/
3. Предности контејнера

Глaвнa предност контејнера су ефикасност кориштења ресурса и флексибилност.


Недостатак оперативног системa тако смaњује заузеће простора за похрану с неколико
гигабајта на неколико десетака или стотина мегабајта. Што дaљe имплицирa дa
aутоматски можемо покренути већи број контeјнера у односу дa користимo
виртуализацију. Уз то су смањени процесорски захтјеви и вријеме потребно да покренемо
контејнер. Процеси који су покренути на хост оперативном систему не морају се дуплати
у контејнеру у контрасту с виртуалном машином којој треба цијели оперативни систем за
сваку инстанцу. Флексибилност произлази из тога да су све датотеке потребне за
покретање апликације садржане у контејнеру. Контејнер може имати засебне мрежне
интерфејсе која се могу разликовати од оних на хост-у што би иначе могло довести до
конфликата при кориштењу појединих бројева портова. Као посљедица преносивости
такођер је олакшано тестирање и праћење буг-ова јер се исти контејнери користе код
тестирања и у продукцији. Ресурси се контејнеру не морају додијелити прије покретања
као код виртуалне машине. Њихова додјела се чак може и ограничити појединим
контејнерима при чему контејнер неће заузети све доступне ресурсе ако му то није
потребно. Ефикасност у старту се тако може још више побољшати

4. Зашто Docker?
Докер је сервис за управљање контејнерима. Кључне ријечи Докер-а су развој, испорука и
покретање било гдје. Цијела идеја Докер-а је да програмери лако развијају апликације,
шаљу их у контејнере који се затим могу примјенити било гдје.

Карактеристике Докер-а

 Докер има могућност да смањи величину развоја обезбјеђујући мањи отисак


оперативног система преко контејнера.
 Са контејнерима, тимовима у различитим јединицама, као што су развој, осигурање
квалитета и операције, постаје лакше да раде беспријекорно у апликацијама.
 Докер контејнере можете да примјените било гдје, на било којој физичкој и
виртуелној машини, па чак и у облаку.
 Пошто су Докер контејнери прилично лагани, врло су лако скалабилни.
Можете дозволити својим програмерима да пишу програме и кодове у свом локалном
систему унутар Докер контејнера. Они могу да дијеле посао са члановима свог тима и
колегама, а могу чак и да раде на истом контејнеру истовремено. Можете да покренете
своје апликације у тесном окружењу, интегришете их са ЦИ/ЦД радним токовима и
изводите аутоматизоване, као и ручне тестове. Када пронађете грешку, можете је
поправити унутар самог окружења контејнера. Када завршите, можете га поново
распоредити у окружење за тестирање ради провјере.

У Табели 1 видимо успоредбу Докера с конкурентима из чега се јасно види да је Докер


најзрелија платформа која нуди највећу флексибилност и највише карактеристика.

Kontejnerska Docker CoreOS rkt LXC Linux Open VZ


tehnologija

Podržane Linux, Windows Linux Linux Linux


platforme

Ograničenje Da Djelimično Djelimično Djelimično


resursa kont.

Prenosivost i Da Da Ograničeno Da
Live migracije

Nested Da Djelimično Da Djelimično


virtualizacija
Upravljanje Da Ne Ne Da
udaljenim
pristupom
Standardizacija Da Ne Ne Ne

Табела 1 Поређење контејнерских технологија


5. Архитектура

Четири кључне компоненте Докер архитектурe су:

1. Докер даемон или сервер


2. Докер интерфејс командне линије или клијент
3. Доцкер регистри
4. Доцкер објекти -
1. Слике
2. Контејнери
3. Мрежа
4. Складиште

5.1 Докер даемон

Докер даемон, такође познат као „докерд“, досљедно слуша захтјеве које поставља Докер
АПИ. Користи се за обављање свих тешких задатака као што је креирање и управљање
Докер објектима, укључујући контејнере, слике и мреже. Докер демон је такође способан
да комуницира са другим дaемонима на истим или различитим хостовима. На примјер, у
случају кластера, даемон једне машине може да комуницира са демонима на другим
машинама како би извршио задатке.

5.2 Докер ЦЛИ

Корисници Докер-а могу користити једноставне ХТТП клијенте попут командне линије за
интеракцију са Докер-ом. Када корисник изврши Докер команду као што је „Docker run”,
ЦЛИ ће послати овај захтjев докерд-у преко РЕСТ АПИ-ја. Докер ЦЛИ такође може да
комуницира са више од једног дaемона.
5.3 Докер регистри

Званични Докер регистар под називом Доцкерхуб садржи неколико званичних


репозиторијума слика. Репозиторијум садржи скуп сличних Докер слика које су
јединствено идентификоване помоћу Докер знака. Докерхуб својим корисницима пружа
мноштво корисних званичних слика и слика специфичних за продавце. Неки од њих
укључују Ngink, Apache, Pithon, Java, Mongo, Node, MySQL, Ubuntu, Fedora, Centos, итд.

Можете чак и да креирате свој приватн репозиториј унутар Докерхуб-а и спремити своје
прилагођене Докер слике користећи “Docker push” команду. Докер вам омогућава да
креирате сопствени приватни Доцкер регистар на вашој локалној машини користећи слику
која се зове „регистратор“. Када покренете контејнер повезан са сликом регистра, можете
користити “Docker push” команду да бисте слике пребацили у свој приватни регистар.

5.4 Докер објекти

Докер корисник често комуницира са Докер објектима као што су слике, контејнери,
волумени, додаци, мреже итд.

Докер слике су шаблони који су направљени кориштењем вишеслојних фајлова. Можете


да направите Докер слике користећи једноставну текстуалну датотеку под називом
Докерфиле која садржи упутства за прављење Докер сликама. Докер слика је једноставно
нацрт окружења контејнера.

Докер контејнери – Докер контејнери су изолована, инкапсулирана, упакована и


безбједна окружења апликација која садрже све пакете, библиотеке и зависности потребне
за покретање апликације. Контејнери имају приступ ресурсима које дефинишете док
користите Доцкерфиле при креирању слике. Контејнери су веома лагани и могу се
покретати у року од неколико секунди.
Мреже – Можете креирати сигуран канал тако да сви изоловани контејнери у кластеру
могу да комуницирају и дијеле податке или информације. Можете користити неколико
мрежних драјвера и додатака да бисте то постигли. Докер мреже су постале основа
комуникације у било ком Докер мрежном кластеру.

Складиште – Чим изађете из контејнера, сав ваш напредак и подаци унутар контејнера се
губе. Да бисте то избјегли, потребно вам је рјешење за трајно складиштење. Доцкер пружа
неколико опција за трајно складиштење помоћу којих можете да дијелите, чувате и
правите резервну копију својих података. То су - Volumes, Volume Container, Directory
mounts, Storage Plugins.

Слика 3: Докер архитектура

Извор: https://geekflare.com/docker-architecture/
6. Верзије
Докер је доступан у двије верзије:

 Community Edition (CE)


 Enterprise Edition (EE)

Докер Community Edition идеалан је за експериментирање с контејнерима те се


препоручује за почетнике и мање тимове који почињу радити с Докером. Докер Enterprise
Edition направљен је за фирме и професионалне тимове који дистрибуирају критичне
апликације које се користе у продукцији.

Слика испод приказује разлике у могућностима између верзија.

Слика 4: Разлике између верзија Докера

Извор: https://techcrunch.com/2017/03/02/dockers-new-enterprise-edition-gives-containers-an-
out-of-the-box-experience/
7. Закључак

Докер вам омогућава да одвојите своје апликације од своје инфраструктуре тако да


можете брзо да испоручите софтвер. Уз Докер, можете управљати инфраструктуром на
исти начин на који управљате својим апликацијама. Користећи предности Докер-ових
методологија за брзо испоруку, тестирање и имплементацију кода, можете значајно
смањити кашњење између писања кода и његовог покретања у производњи.

Докер контејнери су данас једна од главних тема у технолошком свијету и тренд који ће
сви пратити. Уштеде и предности које Докер носи су јасне и видљиве те нема аргумената
за не имплементирање ове технологије. Докер покаже највише у највећим системима који
су комплексни те их треба поједноставити имплементацијом контејнера и микро-сервиса.
Литература

1. IOTTECHTRENDS,

https://www.iottechtrends.com/why-docker-is-useful-iot/, јун 2022,

2. Simplilearn.com,

https://www.simplilearn.com/tutorials/docker-tutorial/docker-architecture, јун 2022,

3. Docker.com, Containers,

https://www.docker.com/resources/what-container/, јун 2022,

4. Techcrunch.com,

https://techcrunch.com/2017/03/02/dockers-new-enterprise-edition-gives-containers-an-out-of-
the-box-experience/, јун 2022

You might also like