Blog
Dizajniranje više-tenantske Docker arhitekture: Odabir pravog nivoa izolacije
Praktični vodič za odabir između dijeljenih i izoliranih Docker konfiguracija za više-tenantski hosting, s kompromisima i sigurnosnim razmatranjima.

Sažetak
Više-tenantski Docker hosting zahtijeva balansiranje troškova, složenosti i izolacije. Dijeljeni kontejneri su jeftini, ali riskiraju bijeg iz kontejnera; odvojeni stackovi po tenantu nude jaku izolaciju uz veći trošak. Ovaj članak prolazi kroz tri uobičajene arhitekture: jedan Docker demon s imenskim prostorima, Docker-u-Dockeru po tenantu i odvojene VM-ove po tenantu. Naučićete kako procijeniti zahtjeve tenanta, implementirati ograničenja resursa i koristiti read-only datotečne sisteme za učvršćivanje kontejnera. Također pokrivamo alate za orkestraciju poput Kubernetes i Docker Swarm za upravljanje više-tenantskim implementacijama. Na kraju ćete imati okvir za odlučivanje kako odabrati pravi nivo izolacije za vaš slučaj. Upozorenja uključuju performansni overhead i operativnu složenost. Zaključak naglašava da je izolacija dijeljenog jezgra prihvatljiva za niskorizične tenante, ali jaka izolacija (bez dijeljenog jezgra) je neophodna za osjetljive radne opterećenja.
Kada pokrenete više-tenantsku SaaS platformu na Dockeru, najveća arhitektonska odluka je koliko izolacije nametnuti između tenanata. Premalo, i jedan kompromitovani kontejner može procuriti podatke kroz cijelu bazu kupaca. Previše, i poništavate troškovne i operativne prednosti koje su kontejneri obećali.
Ovaj članak vam daje praktični okvir za odlučivanje: procijenite nivoe povjerenja vaših tenanata, odaberite arhitekturu izolacije, učvrstite svoje kontejnere i orkestrirajte u velikom obimu. Otići ćete sa konkretnim skupom kompromisa i korak-po-korak planom za sigurnu implementaciju.
Korak 1: Procijenite povjerenje i osjetljivost tenanata
Nisu svi tenanti jednaki. Korisnici besplatnog nivoa mogu biti zadovoljni dijeljenom infrastrukturom, dok korporativni klijenti zahtijevaju jake garancije. Klasifikujte tenante u tri nivoa:
- Nisko povjerenje (npr. anonimni probni korisnici): minimalna izolacija prihvatljiva, najveći rizik od zloupotrebe.
- Srednje povjerenje (npr. verificirani kupci): umjerena izolacija potrebna za sprječavanje slučajnog ometanja.
- Visoko povjerenje (npr. potpisani ugovori sa SLA): jaka izolacija potrebna – moguće odvojeni VM-ovi.
Takođe razmotrite osjetljivost podataka: ako tenanti pohranjuju PII ili finansijske podatke, nagnite se ka jačoj izolaciji. Ova klasifikacija vodi svaku narednu odluku.
Korak 2: Odaberite svoju arhitekturu izolacije
Opcija A: Dijeljeni Docker demon sa Linux imenskim prostorima (Najjeftinije, Najslabija izolacija)
Svi tenanti se pokreću kao kontejneri na istom hostu i istom Docker demonu. Izolacija se u potpunosti oslanja na kernel imenske prostore i cgroups. Ovo je podrazumijevani Docker model.
Prednosti: Najmanji overhead, lako upravljanje, nije potreban dodatni alat. Odlično za interne alate ili nekritične više-tenantske okvire.
Nedostaci: Ranjivost jezgra može probiti izolaciju. Zlonamjerni tenant može pokušati bijeg iz kontejnera. Borba za resurse je stvarna – jedan bučni susjed može izgladnjivati druge.
Kada koristiti: Tenanti niskog povjerenja sa prolaznim podacima, npr. demo okruženja ili CI/CD runneri.
Opcija B: Docker-u-Dockeru po tenantu (Srednja izolacija, Umjereni trošak)
Svaki tenant dobija svoj Docker demon unutar kontejnera (Docker-u-Dockeru – DinD). Ovo obezbjeđuje odvojeni životni ciklus kontejnera i sprječava jednog tenanta da vidi kontejnere drugog.
Prednosti: Bolja izolacija od dijeljenog demona; svaki tenant može pokrenuti svoj Docker Compose stack. Korisno kada tenanti trebaju izgraditi i upravljati vlastitim kontejnerima.
Nedostaci: DinD ima poznate zamke – ugniježđeni drajveri za pohranu mogu uzrokovati probleme, i dalje dijelite host kernel. Performansni overhead može biti 10-20% zbog ugniježđenih slojeva. Sigurnost nije savršena; bijeg iz kontejnera iz DinD kontejnera i dalje vodi do hosta.
Kada koristiti: Tenanti srednjeg povjerenja koji trebaju komponovati vlastite usluge, npr. platforma koja omogućava korisnicima da implementiraju prilagođene web aplikacije.
Opcija C: Odvojeni VM-ovi po tenantu (Najjača izolacija, Najveći trošak)
Svaki tenant se pokreće na namjenskoj virtuelnoj mašini, sa Dockerom unutar te VM. Hipervizor pruža izolaciju na nivou hardvera – bez ikakvog dijeljenja jezgra.
Prednosti: Najjača izolacija – bijeg iz kontejnera vodi samo do VM-a, ne do drugih tenanata. Ispunjava zahtjeve usklađenosti poput PCI-DSS i HIPAA. Performansna izolacija je skoro apsolutna.
Nedostaci: Visok overhead (puni OS po tenantu), sporije provizioniranje, veća složenost upravljanja. Gubite prednost gustine kontejnera.
Kada koristiti: Tenanti visokog povjerenja sa osjetljivim podacima, ili bilo koji tenant gdje bi probijanje bilo katastrofalno.
Korak 3: Učvrstite kontejnere kroz sve arhitekture
Koju god arhitekturu odabrali, primijenite ove sigurnosne prakse univerzalno:
- Koristite pouzdane, minimalne bazne slike (npr. Alpine, distroless) da smanjite površinu napada.
- Pokrećite kontejnere kao non-root – nikada ne pokrećite kao root unutar kontejnera. Postavite
USERu vašem Dockerfile. - Omogućite read-only root datotečni sistem u specifikaciji kontejnera; montirajte upisive direktorije samo za podatke.
- Postavite ograničenja resursa sa
--memory,--cpusda spriječite probleme s bučnim susjedom. - Ograničite umrežavanje: koristite korisnički definirane mostne mreže i izložite samo potrebne portove.
Za više-tenantske scenarije, također implementirajte:
- Per-tenant API rate limiting na gatewayu.
- Revizijsko evidentiranje svih radnji kontejnera.
Za dublje poniranje u sprječavanje bijega iz kontejnera, pogledajte naš vodič o Odbrana od bijega iz kontejnera.
Korak 4: Orkestrirajte više-tenantske implementacije
Ručno upravljanje mnogim kontejnerima brzo postaje neupravljivo. Koristite orkestrator:
- Docker Swarm je najjednostavniji: nativna Docker integracija, ugrađeni balansiranje opterećenja i upravljanje tajnama. Idealan za male do srednje implementacije. Možete postaviti stack svakog tenanta na namjenske čvorove koristeći oznake i ograničenja.
- Kubernetes nudi napredniju izolaciju putem imenskih prostora, NetworkPolicies i PodSecurityPolicies. Međutim, dodaje značajnu složenost. Razmotrite upravljani Kubernetes (GKE, EKS) da smanjite operativni teret.
- HashiCorp Nomad je lakša alternativa koja podržava Docker i nekontejnerska radna opterećenja.
Za postavljanje orkestracije spremno za produkciju, pročitajte Izvan Docker Composea: Orkestriranje kontejnerizovanih aplikacija spremnih za produkciju.
Upozorenja i kompromisi
- Performansni overhead: DinD može dodati 10-15% CPU/memorijskog overheada. VM-ovi dodaju 5-10% u poređenju sa bare-metal, ali više od kontejnera. Testirajte pod realnim opterećenjem.
- Operativna složenost: Odvojeni VM-ovi zahtijevaju upravljanje OS ažuriranjima, hipervizor zakrpama i životnim ciklusima VM. DinD uvodi probleme sa drajverima za pohranu (overlay2 unutar overlay2 nije podržan; koristite
--storage-driver vfsali je spor). - Usklađenost: Ako vam treba PCI-DSS, arhitekture sa dijeljenim jezgrom se generalno ne prihvataju. Koristite VM-ove sa pravilnom segmentacijom.
- Trošak: Dijeljeni Docker demon košta gotovo ništa dodatno. DinD košta malo više CPU/memorije. VM-ovi mogu biti 2-5x skuplji po tenantu zbog licenciranja i resursa.
Zaključak: Vaš okvir za odlučivanje
| Nivo povjerenja | Preporučena arhitektura | Ključna upozorenja | |-----------------|--------------------------|-------------------| | Nisko | Dijeljeni Docker demon | Prihvatite rizik bijega iz kontejnera; implementirajte rate limiting i reviziju. | | Srednje | DinD po tenantu | Riješite ugniježđenu pohranu; razmotrite sigurnosne grupe po tenantu. | | Visoko | Odvojeni VM-ovi sa Dockerom| Budžetirajte dodatne računarske resurse; automatizujte provizioniranje VM (npr. Terraform). |
Za mnoge SaaS kompanije, hibridni pristup funkcioniše: koristite dijeljeni demon za besplatne nivoe, DinD za plaćajuće kupce, i VM-ove za korporativne klijente. Ovo vam daje troškovnu efikasnost gdje je rizik nizak i jaku izolaciju gdje je važno.
Zapamtite: izolacija je spektar, a ne binarni izbor. Cilj je uskladiti nivo zaštite sa vrijednošću podataka i pouzdanošću tenanta. Počnite sa najjednostavnijom opcijom koja ispunjava vaše sigurnosne zahtjeve, zatim evoluirajte po potrebi.
Za dodatne najbolje prakse o učvršćivanju konfiguracija kontejnera, pogledajte Osiguranje vaših web aplikacija sa Dockerom: Praktični vodič za izolaciju i najbolje prakse.
Sources (5)
- 18 Best Container Orchestration Tools and Services in 2026
- Best 10 Docker Container Hosting Platforms in 2026
- Top 9 Container Orchestration Platforms In 2026 (Expert Picks)
- 10 Platforms to Know for Container Orchestration and Governed Data Operations in 2026
- Implementing Security Best Practices in Docker Containers
