Pređi na sadržaj

Docker

S Vikipedije, slobodne enciklopedije
Docker
Originalni autor(i)Solomon Hajks
Programer(i)Docker, Inc.
Prvo izdanje20. mart 2013; pre 13 godina (2013-03-20)[1]
Stabilno izdanje
29.8.0 Uredi stavku / 3 septembar 2026
Repozitorijum Uredi na Vikipodacima
Napisan uGo[2]
Operativni sistemLinuks, Vindous, macOS
Platformax86-64, ARM, s390x, ppc64le
TipVirtuelizacija na nivou operativnog sistema
Licenca
Veb-sajtdocker.com
Prethodni logotip

Docker (transkr. Doker) je skup proizvoda platforma kao usluga (PaaS) koji koriste virtuelizaciju na nivou operativnog sistema za isporuku softvera u paketima koji se nazivaju kontejneri.[4] Usluga ima i besplatne i premijum nivoe. Softver koji hostuje kontejnere naziva se Docker Engine.[5] Prvi put je objavljen 2013. godine i razvija ga kompanija Docker, Inc..[6]

Doker je alat koji se koristi za automatizaciju primene aplikacija u lakim kontejnerima, kako bi aplikacije mogle efikasno da rade u različitim okruženjima, u izolaciji.

Pozadina

[uredi | uredi izvor]

Kontejneri su međusobno izolovani i sadrže sopstveni softver, biblioteke i konfiguracione datoteke; mogu međusobno komunicirati putem dobro definisanih kanala.[7] Pošto svi kontejneri dele usluge jednog jezgra operativnog sistema, oni koriste manje resursa nego virtuelne mašine.[5]

Funkcionisanje

[uredi | uredi izvor]
Docker može koristiti različite interfejse za pristup funkcijama virtuelizacije Linuks jezgra.[8]

Docker može da upakuje aplikaciju i njene zavisnosti u virtuelni kontejner koji se može pokrenuti na bilo kom Linuks, Vindous ili macOS računaru. Ovo omogućava da se aplikacija pokreće na različitim lokacijama, kao što su lokalno, u javnom (vidi decentralizovano računarstvo, distribuirano računarstvo i računarstvo u oblaku) ili privatnom oblaku.[9] Kada radi na Linuksu, Docker koristi funkcije izolacije resursa Linuks jezgra (kao što su cgroups i prostori imena jezgra) i sistem datoteka sa mogućnošću union montiranja (kao što je OverlayFS)[10] kako bi omogućio kontejnerima da rade unutar jedne instance Linuksa, izbegavajući preopterećenje pokretanja i održavanja virtuelnih mašina. Docker na macOS-u koristi Linuks virtuelnu mašinu za pokretanje kontejnera.[11]

Pošto su Docker kontejneri lagani, jedan server ili virtuelna mašina može istovremeno pokrenuti nekoliko kontejnera.[12] Analiza iz 2018. godine pokazala je da tipičan slučaj upotrebe Dokera uključuje pokretanje osam kontejnera po hostu, te da četvrtina analiziranih organizacija pokreće 18 ili više po hostu.[13] Takođe se može instalirati na računar na jednoj ploči kao što je Raspberry Pi.[14] Podrška Linuks jezgra za prostore imena uglavnom[15] izoluje pogled aplikacije na operativno okruženje, uključujući stabla procesa, mrežu, korisničke ID-eve i montirane sisteme datoteka, dok cgroups jezgra obezbeđuju ograničavanje resursa za memoriju i CPU.[16] Od verzije 0.9, Docker uključuje sopstvenu komponentu (nazvanu libcontainer) za korišćenje funkcija virtuelizacije koje direktno pruža Linuks jezgro, pored korišćenja apstrahovanih interfejsa za virtuelizaciju putem libvirt, LXC-a i systemd-nspawn.[17][8][9][18]

Docker implementira API visokog nivoa kako bi obezbedio lagane kontejnere koji pokreću procese u izolaciji.[19]

Model licenciranja

[uredi | uredi izvor]
  • Docker Engine je licenciran pod Apači licencom 2.0. Docker Desktop distribuira neke komponente koje su licencirane pod GNU-ovom opštom javnom licencom. Docker Desktop nije besplatan za velika preduzeća.[20]
  • Datoteke Dockerfile mogu same po sebi biti licencirane pod licencom otvorenog koda. Obim takve izjave o licenci odnosi se samo na Dockerfile, a ne na sliku kontejnera.

Komponente

[uredi | uredi izvor]

Softverska ponuda ove usluge sastoji se od tri komponente:

  • Softver: Docker demon, nazvan dockerd, jeste postojani proces koji upravlja Docker kontejnerima i objektima kontejnera. Demon osluškuje zahteve poslate putem API-ja Docker Engine-a.[21][22] Docker klijentski program, nazvan docker, pruža interfejs komandne linije (CLI) koji omogućava korisnicima interakciju sa Docker demonima.[21][23]
  • Objekti: Docker objekti su različiti entiteti koji se koriste za sastavljanje aplikacije u Dokeru. Glavne klase Docker objekata su slike, kontejneri i servisi.[21]
    • Docker kontejner je standardizovano, enkapsulirano okruženje koje pokreće aplikacije.[24] Kontejnerom se upravlja pomoću Docker API-ja ili CLI-ja.[21]
    • Docker slika je šablon samo za čitanje koji se koristi za izgradnju kontejnera. Slike se koriste za skladištenje i isporuku aplikacija.[21]
    • Docker servis omogućava skaliranje kontejnere preko više Docker demona. Rezultat je poznat kao swarm (roj), skup demona koji sarađuju i komuniciraju putem Docker API-ja.[21]
  • Registri: Docker registar je spremište za Docker slike. Docker klijenti se povezuju sa registrima kako bi preuzeli („pull”) slike za upotrebu ili otpremili („push”) slike koje su izgradili. Registri mogu biti javni ili privatni. Glavni javni registar je Docker Hub. Docker Hub je podrazumevani registar gde Docker traži slike.[21][25] Docker registri takođe omogućavaju kreiranje obaveštenja na osnovu događaja.[26]

Dockerfile (primer)

[uredi | uredi izvor]

Dockerfile je tekstualna datoteka koja obično specificira nekoliko aspekata Docker kontejnera: Linuks distribuciju, komande za instalaciju izvršnog okruženja programskog jezika i izvorni kod aplikacije.

Primer Dockerfile-a:[27]

ARG CODE_VERSION=latest
FROM ubuntu:${CODE_VERSION}
COPY ./examplefile.txt /examplefile.txt
ENV MY_ENV_VARIABLE="example_value"
RUN apt-get update

# Монтирај директоријум из Docker волумена
# Напомена: Ово се обично наводи у команди 'docker run'.
VOLUME ["/myvolume"]

# Изложи порт (22 за SSH)
EXPOSE 22
  • Docker Compose je alat za definisanje i pokretanje višekontejnerskih Docker aplikacija.[28] Koristi YAML datoteke za konfigurisanje servisa aplikacije i izvršava proces kreiranja i pokretanja svih kontejnera jednom komandom. CLI uslužni program docker compose omogućava korisnicima da izvršavaju komande na više kontejnera odjednom; na primer, izgradnja slika, skaliranje kontejnera, pokretanje zaustavljenih kontejnera i drugo.[29] Komande vezane za manipulaciju slikama ili interaktivne opcije za korisnika nisu relevantne u Docker Compose-u jer se odnose na jedan kontejner.[30] Datoteka docker-compose.yml koristi se za definisanje servisa aplikacije i uključuje različite opcije konfiguracije. Na primer, opcija build definiše opcije konfiguracije kao što je putanja do Dockerfile-a, opcija command omogućava zamenu podrazumevanih Docker komandi, i drugo.[31] Prva javna beta verzija Docker Compose-a (verzija 0.0.1) objavljena je 21. decembra 2013.[32] Prva verzija spremna za produkciju (1.0) postala je dostupna 16. oktobra 2014.[33]
  • Docker Swarm pruža nativnu funkcionalnost klasterizacije za Docker kontejnere, koja pretvara grupu Docker motora u jedan virtuelni Docker motor.[34] U Dokeru 1.12 i novijim verzijama, Swarm režim je integrisan sa Docker Engine-om.[35] CLI[36] uslužni program docker swarm omogućava korisnicima pokretanje Swarm kontejnera, kreiranje tokena za otkrivanje, listiranje čvorova u klasteru i drugo.[37] CLI uslužni program docker node omogućava korisnicima da pokreću različite komande za upravljanje čvorovima u roju, na primer, listiranje čvorova u roju, ažuriranje čvorova i uklanjanje čvorova iz roja.[38] Docker upravlja rojevima koristeći Raft algoritam konsenzusa. Prema Raft-u, da bi se ažuriranje izvršilo, većina čvorova u roju mora se složiti sa ažuriranjem.[39][40] Pored docker swarm CLI-ja, docker stack je alat dizajniran za upravljanje Swarm servisima sa većom fleksibilnošću. Može koristiti konfiguracionu datoteku veoma sličnu docker-compose.yml, sa nekoliko nijansi. Korišćenje docker stack umesto docker compose nudi nekoliko prednosti, kao što je mogućnost upravljanja Swarm klasterom na više mašina ili sposobnost rada sa docker secret u kombinaciji sa docker context, funkcijom koja omogućava izvršavanje Docker komandi na udaljenom hostu, čime se omogućava daljinsko upravljanje kontejnerima.
  • Docker Volume olakšava nezavisno očuvanje podataka, omogućavajući da podaci ostanu čak i nakon što se kontejner izbriše ili ponovo kreira.[41]

Istorija

[uredi | uredi izvor]

Kompaniju dotCloud Inc. osnovali su Kamel Funadi, Solomon Hajks i Sebastjen Pal[42] tokom letnje grupe startap inkubatora Y Combinator 2010. godine, a pokrenuta je 2011. Preimenovana je u Docker Inc. 2013. godine.[43] Startap je takođe bio jedan od 12 startapova u prvoj grupi Founder's Den-a.[44] Hajks je pokrenuo projekat Docker u Francuskoj kao interni projekat u okviru kompanije dotCloud, kompanije za platformu kao uslugu.[45]

Docker je debitovao u javnosti u Santa Klari na PyCon-u 2013. godine.[46] Objavljen je kao otvoreni kod u martu 2013.[19] U to vreme, koristio je LXC kao svoje podrazumevano izvršno okruženje. Godinu dana kasnije, sa izdanjem verzije 0.9, Doker je zamenio LXC sopstvenom komponentom, libcontainer, koja je napisana u programskom jeziku Go.[17][47]

Godine 2017, Docker je kreirao [[]] [Moby project] za otvoreno istraživanje i razvoj.[48]

Usvajanje

[uredi | uredi izvor]
  • 19. septembar 2013: Red Hat i Docker su najavili saradnju u vezi sa Fedorom, Red Hat Enterprise Linux-om (RHEL) i OpenShift-om.[49]
  • 15. oktobar 2014: Majkrosoft je najavio integraciju Docker motora u Windows Server, kao i nativnu podršku za ulogu Docker klijenta u Vindousu.[50][51]
  • Novembar 2014: Najavljene su usluge Dokera za Amazon Elastic Compute Cloud (EC2).[52]
  • 10. novembar 2014: Docker je najavio partnerstvo sa kompanijom Stratoscale.[53]
  • 4. decembar 2014: IBM je najavio strateško partnerstvo sa Dokerom koje omogućava Dokeru da se bliže integriše sa IBM Cloud-om.[54]
  • 22. jun 2015: Docker i nekoliko drugih kompanija najavili su da rade na novom standardu za softverske kontejnere koji je nezavisan od proizvođača i operativnog sistema.[55][56]
  • Decembar 2015: Oracle Cloud je dodao podršku za Docker kontejnere nakon akvizicije kompanije StackEngine, startapa za Docker kontejnere.[57]
  • April 2016: Windocks, nezavisni proizvođač softvera, objavio je port Dokerovog projekta otvorenog koda za Vindous, podržavajući Windows Server 2012 R2 i Server 2016, sa svim izdanjima SQL Server-a 2008 i novijim.[58]
  • Maj 2016: Analiza je pokazala da su sledeće organizacije glavni doprinosioci Dokeru: Docker tim, Cisco, Google, Huawei, IBM, Majkrosoft i Red Hat.[59]
  • 8. jun 2016: Majkrosoft je najavio da se Docker sada može nativno koristiti na Vindousu 10.[60]
  • Januar 2017: Analiza pomena na LinkedIn profilima pokazala je da je prisustvo Dokera poraslo za 160% u 2016. godini.[61]
  • 6. maj 2019: Majkrosoft je najavio drugu verziju Pomoćnog sistema Vindousa za Linuks (WSL). Docker, Inc. je najavio da je počeo da radi na verziji Dokera za Vindous koja će raditi na WSL 2.[62] To je posebno značilo da Docker može da radi na Vindousu 10 Home (ranije je bio ograničen na Windows Pro i Enterprise jer je koristio Hyper-V).
  • Avgust 2020: Majkrosoft je najavio prenos WSL2 na Vindous 10 verzije 1903 i 1909 (ranije je WSL2 bio dostupan samo na verziji 2004),[63] a programeri Dokera najavili su dostupnost Dokera za ove platforme.[64]
  • Avgust 2021: Docker Desktop za Vindous i macOS više nije bio dostupan besplatno za poslovne korisnike. Docker je ukinuo besplatno korišćenje komponente Docker Desktop za veće poslovne korisnike i zamenio svoj besplatni plan ličnim planom. Docker Engine na Linuks distribucijama ostao je nepromenjen.[65]
  • Decembar 2023: Docker je kupio AtomicJar kako bi proširio svoje mogućnosti testiranja.[66]

Vidi još

[uredi | uredi izvor]

Reference

[uredi | uredi izvor]
  1. ^ Barbier, Julien (9. 6. 2014). „Стигао је: Docker 1.0”. Docker. Docker, Inc.. Приступљено 30. 9. 2019. 
  2. ^ „Docker изворни код”. docker/distribution repo. Docker, Inc.. 12. 10. 2015. Приступљено 24. 10. 2015 — преко GitHub. 
  3. ^ „Уговор о лиценцирању за Docker Desktop”. 11. 9. 2024. 
  4. ^ O'Gara, Maureen (26. 7. 2013). „Бен Голуб, који је продао Gluster Red Hat-у, сада води dotCloud”. SYS-CON Media. Архивирано из оригинала 13. 9. 2019. г.. 
  5. ^ a b „Шта је контејнер?”. docker.com. Docker, Inc.. Приступљено 13. 5. 2019. 
  6. ^ Ratan, Vivek (8. 2. 2017). „Docker: Омиљен у свету DevOps-а”. Open Source For U. Приступљено 14. 6. 2017. 
  7. ^ „Користите контејнере за изградњу, дељење и покретање ваших апликација”. docker.com. 
  8. ^ a b „Docker 0.9: Представљање извршних драјвера и libcontainer-а”. Docker Blog. Docker, Inc.. 10. 3. 2014. Приступљено 20. 1. 2015. 
  9. ^ a b Noyes, Katherine (1. 8. 2013). „Docker: 'Транспортни контејнер' за Линукс код”. Linux.com. Архивирано из оригинала 8. 8. 2013. г. Приступљено 9. 8. 2013. 
  10. ^ „Документација за избор драјвера за складиштење”. Docker documentation. Архивирано из оригинала 6. 12. 2016. г. Приступљено 7. 12. 2016. 
  11. ^ „Почните са Докером за Mac”. docker.com. Docker, Inc.. Приступљено 27. 9. 2018. 
  12. ^ K., Chris (14. 1. 2019). „Лагани Виндоус контејнери: Коришћење изолације процеса Докера у Виндоусу 10”. Poweruser. Приступљено 2. 8. 2019. „„лаганији” стварни контејнери (путем изолације процеса), где се контејнеризовани процеси извршавају директно на хост систему — сви процеси на хосту и у контејнерима деле исто Виндоус језгро. Ово је слично начину на који контејнери раде на Линуксу. 
  13. ^ „8 изненађујућих чињеница о стварном усвајању Докера”. Datadog. jun 2018. Приступљено 4. 9. 2019. 
  14. ^ Gupta, Devender (13. 10. 2022). „Како инсталирати Docker[[Категорија:Чланци који садрже текст на језику — енглески]] на Raspberry Pi”. Gizmoxo (na jeziku: engleski). Архивирано из оригинала 16. 07. 2023. г. Приступљено 15. 10. 2022.  Sukob URL—vikiveza (pomoć)
  15. ^ Walsh, Dan (15. 9. 2014). „Још један разлог зашто контејнери не садрже: привесци кључева језгра”. projectatomic.io. Приступљено 13. 4. 2015. 
  16. ^ „Ограничите ресурсе контејнера”. Docker Documentation. Приступљено 7. 3. 2018. 
  17. ^ a b Vaughan-Nichols, Steven J. (11. 6. 2014). „Docker libcontainer уједињује моћи Линукс контејнера”. ZDNet. Приступљено 30. 7. 2014. 
  18. ^ „libcontainer – референтна имплементација за контејнере”. docker/libcontainer repo. Docker, Inc.. Приступљено 30. 7. 2014 — преко GitHub. 
  19. ^ a b Avram, Abel (27. 3. 2013). „Docker: Аутоматизоване и доследне примене софтвера”. InfoQ. Приступљено 9. 8. 2013. 
  20. ^ „Get Docker”. 11. 9. 2024. 
  21. ^ a b v g d đ e „Преглед Докера”. Docker Documentation. Docker, Inc.. Приступљено 26. 2. 2018. 
  22. ^ „dockerd”. Docker Documentation. Docker, Inc.. Приступљено 26. 2. 2018. 
  23. ^ „Коришћење командне линије Докера”. Docker Documentation. Docker, Inc.. Приступљено 26. 2. 2018. 
  24. ^ „Екосистем Докера: Увод у уобичајене компоненте”. www.digitalocean.com. Приступљено 26. 2. 2018. 
  25. ^ „О регистру”. Docker Documentation. Docker, Inc.. Приступљено 26. 2. 2018. 
  26. ^ „Рад са обавештењима”. 2. 3. 2019. 
  27. ^ „Dockerfile reference”. Docker Documentation (na jeziku: engleski). 14. 11. 2023. Приступљено 30. 11. 2023. 
  28. ^ „Преглед Docker Compose-а”. Docker Documentation. Docker, Inc.. Приступљено 6. 7. 2017. 
  29. ^ „Референца командне линије за Compose”. Docker Documentation. Docker, Inc.. Приступљено 28. 2. 2018. 
  30. ^ „Оркестрирајте контејнере за развој помоћу Docker Compose-а”. via @codeship. 27. 5. 2015. Приступљено 28. 2. 2018. 
  31. ^ „Референца за Compose датотеку верзије 3”. Docker Documentation. Docker, Inc.. Приступљено 28. 2. 2018. 
  32. ^ Firshman, Ben (21. 12. 2013). „Издање 0.0.1”. docker/compose. Docker, Inc. — преко GitHub. 
  33. ^ Prasad, Aanand (16. 10. 2014). „Издање 1.0.0”. docker/compose. Docker, Inc. — преко GitHub. 
  34. ^ „8 алата за оркестрацију контејнера отвореног кода које треба знати”. Linux.com. 12. 4. 2017. Приступљено 6. 7. 2017. 
  35. ^ „Docker Swarm”. Docker Documentation. Docker, Inc.. Приступљено 6. 7. 2017. 
  36. ^ „Docker swarm”. 4. 6. 2021. 
  37. ^ „Референца командне линије за Swarm”. Docker Documentation. Docker, Inc.. Приступљено 28. 2. 2018. 
  38. ^ „docker node”. Docker Documentation. Приступљено 28. 2. 2018. 
  39. ^ „Docker Swarm 101”. aquasec.com. Приступљено 28. 2. 2018. 
  40. ^ „Raft алгоритам консензуса”. raft.github.io. Приступљено 28. 2. 2018. 
  41. ^ „Docker Desktop & Docker водичи”. Docker Guide (na jeziku: engleski). 25. 4. 2021. Архивирано из оригинала 25. 4. 2021. г. Приступљено 25. 4. 2021. 
  42. ^ Hykes, Solomon (28. 3. 2018). „Au Revoir”. docker.com. Архивирано из оригинала 12. 1. 2021. г. Приступљено 23. 1. 2021. 
  43. ^ „О платформи dotCloud”. dotCloud. Архивирано из оригинала 2. 7. 2014. г. Приступљено 23. 6. 2019. 
  44. ^ Seigler, MG (10. 1. 2011). „Founders Den: Приватни клуб за предузетнике отвара се у Сан Франциску”. TechCrunch. Архивирано из оригинала 29. 3. 2016. г. Приступљено 2. 2. 2021. 
  45. ^ „Један дом за све ваше апликације”. dotcloud.com. Архивирано из оригинала 17. 5. 2014. г. Приступљено 8. 5. 2014. 
  46. ^ „Будућност Линукс контејнера”. DotCloud Channel. 21. 3. 2013. Приступљено 13. 7. 2018 — преко YouTube. 
  47. ^ Swan, Chris (13. 3. 2014). „Докер одбацује LXC као подразумевано извршно окружење”. InfoQ. Приступљено 20. 1. 2015. 
  48. ^ „Демистификација односа између Moby-ја и Докера – Добродошли у Collabnix”. 6. 5. 2017. 
  49. ^ „DotCloud се окреће и остварује велики успех са Докером, клауд сервисом који је сада део Red Hat OpenShift-а”. TechCrunch. 19. 9. 2013. Приступљено 20. 1. 2014. 
  50. ^ Foley, Mary Jo (15. 10. 2014). „Подршка за Докер контејнере стиже у следеће издање Мајкрософтовог Windows Server-а”. ZDNet. Приступљено 16. 10. 2014. 
  51. ^ Guthrie, Scott (15. 10. 2014). „Докер и Мајкрософт: Интеграција Докера са Windows Server-ом и Microsoft Azure-ом”. ScottGu's Blog. Microsoft. Приступљено 12. 1. 2015. 
  52. ^ Barr, Jeff (13. 11. 2014). „Amazon EC2 Container Service (ECS) – Управљање контејнерима за AWS Cloud”. Amazon Web Services Blog. Приступљено 29. 4. 2017. 
  53. ^ Rath, John (10. 11. 2014). „Stratoscale прикупља 32 милиона долара за изградњу OpenStack облака са подршком за Докер на робним серверима”. Приступљено 3. 1. 2016. 
  54. ^ „IBM и Докер најављују стратешко партнерство за испоруку пословних апликација у облаку и локално”. IBM. 4. 12. 2014. Архивирано из оригинала 10. 1. 2015. г. Приступљено 20. 4. 2015. 
  55. ^ Lardinois, Frederic (22. 6. 2015). „Docker, CoreOS, Google, Microsoft, Amazon и други се удружују да развију заједнички стандард за контејнере”. TechCrunch. Приступљено 8. 8. 2015. 
  56. ^ Siluk, Shirley (22. 6. 2015). „Докер и технолошки гиганти удружују се на пројекту Open Container”. cio-today.com. Архивирано из оригинала 23. 9. 2015. г. Приступљено 8. 8. 2015. 
  57. ^ McLaughlin, Kevin (22. 12. 2015). „Oracle Acquires Docker Container Startup StackEngine, Plans Austin-Based Cloud Computing Center”. CRN. Приступљено 13. 1. 2022. 
  58. ^ Yegulalp, Serdar (4. 4. 2016). „Windocks ради оно што Докер и Мајкрософт не могу”. InfoWorld. Приступљено 27. 10. 2018. 
  59. ^ „Docker – Ажурирана статистика пројекта”. GitHub Gist. Приступљено 22. 8. 2016. 
  60. ^ Sarkar, Dona (8. 6. 2016). „Најава Windows 10 Insider Preview Build 14361”. Windows Blogs. Microsoft. Приступљено 19. 6. 2016. 
  61. ^ Mullany, Michael. „Анализа замаха Докера 2016”. LinkedIn Pulse. Приступљено 5. 1. 2017. 
  62. ^ Vaughan-Nichols, Steven (18. 6. 2019). „Докер прихвата Windows Subsystem for Linux 2”. ZDNet. CBS Interactive. 
  63. ^ „Подршка за WSL 2 стиже на Виндоус 10 верзије 1903 и 1909”. Windows Command Line (na jeziku: engleski). 20. 8. 2020. Приступљено 21. 8. 2020. 
  64. ^ „Docker Desktop & WSL 2 - Ажурирање о преносу”. Docker Blog (na jeziku: engleski). 20. 8. 2020. Приступљено 21. 8. 2020. 
  65. ^ Carey, Scott (31. 8. 2021). „Docker Desktop is no longer free for enterprise users”. InfoWorld (na jeziku: engleski). Приступљено 18. 10. 2021. 
  66. ^ Miller, Ron (11. 12. 2023). „Docker acquires AtomicJar, a testing startup that raised $25M in January”. TechCrunch (na jeziku: engleski). Приступљено 13. 12. 2023.