Docker është një grup produktesh që përdor virtualizimin në nivel sistemi operativ për të ofruar softuer në paketa të quajtura kontejnerë. Docker automatizon vendosjen e aplikacioneve brenda kontejnerëve të lehtë, duke i mundësuar ato të funksionojnë në mënyrë të qëndrueshme në mjedise të ndryshme kompjuterike.
Softueri kryesor që drejton dhe menaxhon këto kontejnerë quhet Docker Engine. Docker u publikua për herë të parë në vitin 2013 dhe vazhdon të zhvillohet nga Docker, Inc. Platforma përfshin nivele falas dhe me pagesë.
Histori
Solomon Hykes e filloi projektin Docker në Francë si një projekt të brendshëm brenda dotCloud, një kompani platformë-si-shërbim.
dotCloud Inc. u themelua nga Kamel Founadi, Hykes dhe Sebastien Pahl gjatë grupit të inkubatorëve të startup-eve Y Combinator Summer 2010 dhe u lançua në vitin 2011, dhe u riemërua në Docker Inc në vitin 2013.
Docker debutoi për publikun në Santa Clara në PyCon në vitin 2013. U publikua si burim i hapur në mars të vitit 2013. Në atë kohë, përdorte LXC si mjedisin e tij të parazgjedhur të ekzekutimit. Një vit më vonë, me publikimin e versionit 0.9, Docker zëvendësoi LXC me komponentin e vet, libcontainer, i cili ishte shkruar në gjuhën e programimit Go.
Në vitin 2017, Docker krijoi projektin Moby për kërkim dhe zhvillim të hapur. Në mars të vitit 2026, Komunikimet e ACM-së e paraqitën Docker si artikullin kryesor në një artikull retrospektiv të dekadës së kaluar.
Adoptim
19 shtator 2013: Red Hat dhe Docker njoftuan një bashkëpunim rreth Fedora, Red Hat Enterprise Linux (RHEL) dhe OpenShift.
15 tetor 2014: Microsoft njoftoi integrimin e motorit Docker në Windows Server, si dhe mbështetjen native për rolin e klientit Docker në Windows.
Nëntor 2014: Shërbimet e kontejnerëve Docker u njoftuan për Amazon Elastic Compute Cloud (EC2).
10 nëntor 2014: Docker njoftoi një partneritet me Stratoscale.
4 dhjetor 2014: IBM njoftoi një partneritet strategjik me Docker që i mundëson Docker të integrohet më ngushtë me IBM Cloud.
22 qershor 2015: Docker dhe disa kompani të tjera njoftuan se po punonin në një standard të ri të pavarur nga shitësi dhe sistemi operativ për kontejnerët e softuerëve.
Dhjetor 2015: Oracle Cloud shtoi mbështetjen për kontejnerët Docker pas blerjes së StackEngine, një startup kontejnerësh Docker.
Mars 2016: U publikuan versionet beta të Docker për Mac dhe Windows.
Prill 2016: Windocks, një shitës i pavarur softuerësh, publikoi një version të projektit me burim të hapur të Docker për Windows, duke mbështetur Windows Server 2012 R2 dhe Server 2016, me të gjitha botimet e SQL Server 2008 e tutje.
Maj 2016: analiza tregoi organizatat e mëposhtme si kontribuesit kryesorë në Docker: Ekipi i Docker, Cisco, Google, Huawei, IBM, Microsoft dhe Red Hat.
8 qershor 2016: Microsoft njoftoi se Docker tani mund të përdoret në mënyrë native në Windows 10.
Janar 2017: Një analizë e përmendjeve të profileve në LinkedIn tregoi se prania e Docker u rrit me 160% në vitin 2016.
6 maj 2019: Microsoft njoftoi versionin e dytë të Windows Subsystem për Linux (WSL). Docker, Inc. njoftoi se kishte filluar të punonte në një version të Docker për Windows për t'u ekzekutuar në WSL 2. Në veçanti, kjo do të thoshte se Docker mund të funksiononte në Windows 10 Home (më parë ishte i kufizuar në Windows Pro dhe Enterprise pasi përdorte Hyper-V).
Gusht 2020: Microsoft njoftoi një transferim të përsëritur të WSL2 në versionet 1903 dhe 1909 të Windows 10 (më parë WSL2 ishte i disponueshëm vetëm në versionin 2004) dhe zhvilluesit e Docker njoftuan disponueshmërinë e Docker për këto platforma.
Gusht 2021: Docker Desktop për Windows dhe MacOS nuk ishte më i disponueshëm falas për përdoruesit e ndërmarrjeve. Docker i dha fund përdorimit falas të Docker Desktop për klientët e mëdhenj të biznesit dhe e zëvendësoi Planin e tij Falas me një Plan Personal. Docker Engine në shpërndarjet Linux mbeti i paprekur.
Dhjetor 2023: Docker bleu AtomicJar për të zgjeruar aftësitë e tij të testimit.
Në shkurt të vitit 2025, Docker Engine 28 u publikua me forcim sigurie për rrjetëzimin e kontejnerëve. Publikimi ndryshoi sjelljen e parazgjedhur të rrjetëzimit të urës për të parandaluar që portat e papublikuara të kontejnerëve të jenë të arritshme pa dashje nga rrjetet lokale sipas konfigurimeve të caktuara të firewall-it të hostit.
Në prill të vitit 2025, Docker Desktop 4.41 zgjeroi Docker Model Runner me mbështetje për Windows, Docker Compose dhe Testcontainers, duke përfshirë përshpejtimin e GPU-së NVIDIA në Windows.
Në gusht të vitit 2025, Docker ndryshoi ritmin e lëshimeve të Docker Desktop nga lëshime mujore në lëshime çdo dy javë, duke filluar me versionin 4.45.0. Ndryshimi kishte për qëllim të ofronte më shpesh veçori të reja, rregullime të gabimeve dhe përditësime sigurie.
Në nëntor 2025, u publikua Docker Engine 29.0.0. Ky version e bëri ruajtjen e imazheve në kontejnerë si parazgjedhje për instalimet e reja dhe hoqi dorë nga moduli github.com/docker/docker Go në favor të github.com/moby/moby/client dhe github.com/moby/moby/api.
Mars 2026: U publikua VisualDock Server, një mjedis në anën e serverit për ekzekutimin dhe menaxhimin e kontejnerëve Docker në Windows Server.
Dizajn
Kontejnerët janë të izoluar nga njëri-tjetri dhe bashkojnë softuerët, bibliotekat dhe skedarët e konfigurimit të tyre; ata mund të komunikojnë me njëri-tjetrin përmes kanaleve të përcaktuara mirë. Meqenëse të gjithë kontejnerët ndajnë shërbimet e një bërthame të vetme të sistemit operativ, ata përdorin më pak burime sesa makinat virtuale.
Docker mund të paketojë një aplikacion dhe varësitë e tij në një kontejner virtual që, në parim, mund të funksionojë në çdo kompjuter Linux, Windows ose macOS. Kjo i mundëson aplikacionit të funksionojë në një sërë vendesh, të tilla si në ambientet e brendshme, në publik (shih informatikë të decentralizuar, informatikë të shpërndarë dhe cloud computing) ose cloud privat. 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 (të tilla si OverlayFS) për të lejuar kontejnerët të funksionojnë brenda një instance të vetme Linux, duke shmangur mbingarkesën e fillimit dhe mirëmbajtjes së makinave virtuale. Docker në macOS përdor një makinë virtuale Linux për të ekzekutuar kontejnerët.
Meqenëse kontejnerët Docker janë të lehtë, një server i vetëm ose makinë virtuale mund të ekzekutojë disa kontejnerë njëkohësisht. Një analizë e vitit 2018 zbuloi se një rast tipik përdorimi i Docker përfshin ekzekutimin e tetë kontejnerëve për host dhe se një e katërta e organizatave të analizuara ekzekutojnë 18 ose më shumë për host. Mund të instalohet gjithashtu në një kompjuter të vetëm si Raspberry Pi.
Mbështetja e kernelit Linux për hapësirat e emrave kryesisht izolon pamjen e një aplikacioni të mjedisit operativ, duke përfshirë pemët e proceseve, rrjetin, ID-të e përdoruesve dhe sistemet e skedarëve të montuar, ndërsa grupet c të kernelit ofrojnë kufizim të burimeve për memorien dhe CPU-në. Që nga versioni 0.9, Docker përfshin komponentin e vet (të quajtur libcontainer) për të përdorur lehtësitë e virtualizimit të ofruara direkt nga kerneli Linux, përveç përdorimit të ndërfaqeve të abstraktuara të virtualizimit nëpërmjet libvirt, LXC dhe systemd-nspawn.
Docker zbaton një API të nivelit të lartë për të ofruar kontejnerë të lehtë që ekzekutojnë procese në izolim.
Komponentët
Softueri Docker si ofertë shërbimi përbëhet nga tre komponentë:
Softuer
Demoni Docker, i quajtur dockerd, është një proces i vazhdueshëm që menaxhon kontejnerët Docker dhe trajton objektet e kontejnerëve. Demoni dëgjon kërkesat që dërgohen nëpërmjet API-t të Docker Engine. Programi klient Docker, i quajtur docker, ofron një ndërfaqe të linjës së komandës (CLI) që u lejon përdoruesve të bashkëveprojnë me demonët Docker.



