Shko te përmbajtja

Docker (softuer)

Nga Wikipedia, enciklopedia e lirë
Docker
AutorSolomon Hykes
ZhvilluesDocker, Inc.
Versioni i parë20 mars 2013; 12 vite më parë (2013-03-20)[1]
Versioni i fundit29.1.3[2] Edit this on Wikidata / 12 dhjetor 2025
Gjuhet e programimitGo[3]
Sistemi operativLinux, Windows, macOS
Platformax86-64, ARM, s390x, ppc64le
Përdoret përVirtualizimi në nivel OS
Licenca
Faqja zyrtaredocker.com

Docker është një grup produktesh platforma si shërbim (PaaS) që përdorin virtualizimin në nivel SI për të ofruar softuer në paketa të quajtura konteinier.[5] Shërbimi ka nivel falas dhe premium. Softueri që pret konteinerët quhet Docker Engine.[6] Versioni fillesatar doli në 2013 dhe është zhvilluar nga Docker, Inc.[7]

Docker është një mjet që përdoret për të automatizuar vendosjen e aplikacioneve në konteinerë të lehtë, në mënyrë që aplikacionet të mund të funksionojnë me efikasitet në mjedise të ndryshme të izoluara.

Konteinerët janë të izoluar nga njëri-tjetri dhe bashkojnë softuerin e tyre, libraritë dhe skedarët e konfigurimit; ata mund të komunikojnë me njëri-tjetrin përmes kanaleve të mirëpërcaktuara.[8] Për shkak se të gjithë konteinerët ndajnë shërbimet e një kerneli të vetëm të sistemit operativ, ata përdorin më pak burime sesa makinat virtuale.[6]

Docker mund të përdorë ndërfaqe të ndryshme për të hyrë në veçoritë e virtualizimit të kernelit Linux.[9]

Docker mund të paketojë një aplikacion dhe varësitë e tij në një konteiner virtual që mund të funksionojë në çdo kompjuter Linux, Windows ose macOS. Kjo mundëson që aplikacioni të ekzekutohet në një sërë vendndodhjesh, si p.sh. on-premises, në publik (shih kompjuterat e shqendërzuar, kompjuterat e shpërndarë dhe kompjuterat në cloud ) ose cloud privat.[10] Kur funksionon në Linux, Docker përdor veçoritë e izolimit të burimeve të kernelit Linux (të tilla si cgroups dhe hapësirat e emrave të kernelit ) dhe një sistem skedarësh të aftë për bashkim (siç është OverlayFS)[11] për të lejuar që kontejnerët të funksionojnë brenda një shembulli të vetëm Linux, duke shmangur shpenzimet e përgjithshme të nisjes dhe mirëmbajtjes së makinave virtuale. Docker në macOS përdor një makinë virtuale Linux për të drejtuar kontejnerët.[12]

Për shkak se kontejnerët Docker janë të lehtë në kujtesë dhe shpenzim burimesh, një server i vetëm ose makinë virtuale mund të ekzekutojë disa kontejnerë njëkohësisht.[13] Një analizë e vitit 2018 zbuloi se një rast tipik përdorimi i Docker përfshin ekzekutimin e njëkohëshëm të 8 kontejnerëve për bujtës dhe se një e katërta e organizatave të analizuara përdorin 18 ose më shumë për bujtës.[14] Mund të instalohet gjithashtu në një kompjuter të vetëm si Raspberry Pi . [15]

Docker zbaton një API të nivelit të lartë për të siguruar kontejnerë të lehtë që drejtojnë proceset në izolim.[16]

Softueri Docker si një ofertë shërbimi përbëhet nga tre pjesë përbërëse:

  • Softueri: Daemon Docker, i quajtur dockerd, është një proces i vazhdueshëm që menaxhon kontejnerët Docker dhe trajton objektet e kontejnerëve. Daemon dëgjon për kërkesat e dërguara përmes API-së së Docker Engine.[17][18] Programi i klientit Docker, i quajtur docker, ofron një ndërfaqe të linjës komanduese (CLI), që lejon përdoruesit të ndërveprojnë me demonët e Docker.[17][19]
  • Objektet: Objektet Docker janë entitete të ndryshme që përdoren për të ndërtuar një aplikacion në Docker. Klasat kryesore të objekteve Docker janë imazhet, kontejnerët dhe shërbimet.[17]
    • Një kontejner Docker është një mjedis i standardizuar dhe i kapsuluar që ekzekuton aplikacionet.[20] Një kontejner menaxhohet duke përdorur Docker API ose CLI.[17]
    • Një imazh Docker është një shabllon vetëm për lexim që përdoret për të ndërtuar kontejnerë. Imazhet përdoren për të ruajtur dhe dërguar aplikacione.[17]
    • Një shërbim Docker lejon që kontejnerët të shkallëzohen nëpër demonët e shumëfishtë Docker. Rezultati njihet si një swarm, një grup daemonësh bashkëpunues që komunikojnë përmes Docker API.[17]
  • Regjistrat: Një regjistër Docker është një depo për imazhet e Docker. Klientët Docker lidhen me regjistrat për të shkarkuar ("pull") imazhe për përdorim ose ngarkuar ("push") imazhe që ata kanë ndërtuar. Regjistrat mund të jenë publikë ose privatë. Regjistri kryesor publik është Docker Hub. Docker Hub është regjistri i paracaktuar ku Docker kërkon imazhe.[17][21] Regjistrat Docker gjithashtu lejojnë krijimin e njoftimeve bazuar në ngjarje.[22]
  1. Barbier, Julien (9 qershor 2014). "It's Here: Docker 1.0". Docker (në anglisht). Docker, Inc. Marrë më 30 shtator 2019.
  2. "Release 29.1.3". 12 dhjetor 2025. Marrë më 13 dhjetor 2025. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  3. "Docker source code". docker/distribution repo (në anglisht). Docker, Inc. 12 tetor 2015. Marrë më 24 tetor 2015 nëpërmjet GitHub.
  4. "Docker Desktop license agreement" (në anglisht). 11 shtator 2024.
  5. O'Gara, Maureen (26 korrik 2013). "Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud" (në anglisht). SYS-CON Media. Arkivuar nga origjinali më 2019-09-13.
  6. 1 2 "What is a Container?". docker.com (në anglisht). Docker, Inc. Marrë më 13 maj 2019.
  7. Ratan, Vivek (8 shkurt 2017). "Docker: A Favourite in the DevOps World". Open Source For U (në anglisht). Marrë më 14 qershor 2017.
  8. "Use containers to Build, Share and Run your applications". docker.com (në anglisht).
  9. "Docker 0.9: Introducing execution drivers and libcontainer". Docker Blog (në anglisht). Docker, Inc. 10 mars 2014. Marrë më 20 janar 2015.
  10. Noyes, Katherine (1 gusht 2013). "Docker: A 'Shipping Container' for Linux Code". Linux.com (në anglisht). Arkivuar nga origjinali më 8 gusht 2013. Marrë më 9 gusht 2013.
  11. "Select a storage driver documentation". Docker documentation (në anglisht). Arkivuar nga origjinali më 6 dhjetor 2016. Marrë më 7 dhjetor 2016.
  12. "Get started with Docker for Mac". docker.com (në anglisht). Docker, Inc. Marrë më 27 shtator 2018.
  13. K., Chris (14 janar 2019). "Lightweight Windows containers: Using Docker process isolation in Windows 10". Poweruser (në anglisht). Marrë më 2 gusht 2019. more "lightweight" real containers (via so called process-isolation), where the containerized processes are running directly on the host system — all processes on the host and in the containers are sharing the same Windows kernel. This is similar to how containers on Linux work.
  14. "8 surprising facts about real Docker adoption". Datadog (në anglisht). qershor 2018. Marrë më 4 shtator 2019.
  15. Gupta, Devender (2022-10-13). "How to Install Docker on Raspberry Pi". Gizmoxo (në anglisht). Arkivuar nga origjinali më 16 korrik 2023. Marrë më 2022-10-15.
  16. Avram, Abel (27 mars 2013). "Docker: Automated and Consistent Software Deployments". InfoQ (në anglisht). Marrë më 9 gusht 2013.
  17. 1 2 3 4 5 6 7 "Docker overview". Docker Documentation (në anglisht). Docker, Inc. Marrë më 26 shkurt 2018.
  18. "dockerd". Docker Documentation (në anglisht). Docker, Inc. Marrë më 26 shkurt 2018.
  19. "Use the Docker command line". Docker Documentation (në anglisht). Docker, Inc. Marrë më 26 shkurt 2018.
  20. "The Docker Ecosystem: An Introduction to Common Components". www.digitalocean.com (në anglisht). Marrë më 26 shkurt 2018.
  21. "About Registry". Docker Documentation (në anglisht). Docker, Inc. Marrë më 26 shkurt 2018.
  22. "Work with notifications" (në anglisht). 2019-03-02.

Lidhje të jashtme

[Redakto | Redakto nëpërmjet kodit]