Docker — izolovani kontejneri za stabilne sajtove
Cela platforma 4buildsite — editor, API, mašina za renderovanje i servis koji isporučuje objavljene sajtove — radi u Docker kontejnerima: izolovanim paketima koji sadrže sve što je svakom servisu potrebno. Vaš sajt se renderuje statički i isporučuje kao kompletna verzija, koja se atomski prebacuje pri svakoj objavi. Rezultat, rečeno jednostavno: objave ga ne zaustavljaju, a ako nešto ne radi, vraćate se na prethodnu verziju prebacivanjem.
Šta je kontejner — i zašto je važan za vaš sajt
Kontejner je standardizovan paket koji sadrži aplikaciju i apsolutno sve što joj je potrebno da radi: runtime, biblioteke, konfiguraciju. Kontejner radi izolovano od ostatka servera, ali direktno koristi Linux kernel domaćina — bez posebnog operativnog sistema po aplikaciji. Docker, pokrenut 2013, pretvorio je ovu tehnologiju u dostupan standard; format slike je danas standardizovan kao OCI (Open Container Initiative) i radi identično na bilo kom Linux serveru ili cloud-u.
Klasična analogija je prekomorski kontejner: bez obzira na teret koji sadrži, ima isti standardni oblik i može se prebaciti na bilo koji brod, voz ili kamion. Isto tako, 4buildsite servisi koji grade i isporučuju vaš sajt — editor, FastAPI API, mašina za renderovanje — upakovani su u standardne slike koje rade isto na test i na produkcionom serveru. Za vas, kao vlasnika sajta ili prodavnice, to znači predvidljivost: ono što ste videli u preview-u upravo je ono što dobijaju posetioci.
- Kontejner = aplikacija + njene zavisnosti, u jednom izolovanom paketu
- Standardni OCI format — ista slika radi na bilo kom serveru ili cloud-u
- Bez posebnog operativnog sistema po servisu — pokretanje za sekunde, a ne minute
- Na 4buildsite-u kontejnerizacijom upravlja platforma — vi samo objavljujete
Izolacija: vaš sajt ne zavisi od komšija
Na klasičnom deljenom hostingu stotine sajtova dele isti server, iste procese, a često i istu PHP instalaciju. Ako komšija dobije nalet saobraćaja ili loše napisan skript potroši ceo procesor, vaš sajt se usporava — fenomen „bučnog komšije“. 4buildsite ovom problemu prilazi iz dva pravca. Prvi: objavljeni sajtovi se renderuju statički — na serverima koji ih isporučuju ne izvršava se kod po sajtu (PHP, plugin-ovi, skripte), pa nema lošeg skripta nekog komšije koji bi potrošio procesor. Drugi: servisi platforme rade svaki u svom kontejneru, sa odvojenim procesima i fajlovima (preko namespaces) i mogućnošću ograničenja CPU-a i memorije (preko cgroups, mehanizama iz Linux kernela).
Izolacija je podjednako važna za bezbednost. Na deljenom hostingu kompromitovan sajt može postati kapija ka susednim sajtovima na istom serveru. Na 4buildsite-u objavljeni sajt je skup statičkih fajlova — ne izvršava kod koji bi mogao biti kompromitovan preko plugin-ova ili tema — a servisi platforme koji obrađuju podatke (porudžbine, plaćanja, editor) nalaze se u odvojenim kontejnerima: fajl sistem je izolovan, a eventualni incident ostaje zatvoren u tom kontejneru.
- Objavljeni sajt = statički fajlovi — nula koda po sajtu koji bi mogao biti kompromitovan
- Servisi platforme: odvojen fajl sistem i procesi po kontejneru
- Predvidljivo ponašanje: statička isporuka, ista u 3 ujutru i u jeku kampanje
Ista verzija svuda: nula „kod mene radi, uživo ne radi“
Najčešći izvor grešaka u klasičnom vebu jeste razlika između okruženja u kome je sajt testiran i servera na kome radi uživo: druga verzija jezika, ekstenzija koja nedostaje, drugačija konfiguracija. Docker slika uklanja celu tu kategoriju problema: slika se gradi samo jednom, sa svim fiksiranim zavisnostima, i upravo isti artefakt radi i na testu i u produkciji. Ne postoji „ručno podešeno na serveru“.
Za vas se to direktno prevodi u stabilnost. Kada izmenite sajt u vizuelnom editoru na panel.4buildsite.net i pritisnete objavu, verzija koja stiže do posetilaca prošla je kroz iste korake, kroz iste kontejnerizovane servise, svaki put. Manje iznenađenja posle objave znači manje noći sa palom prodavnicom — a za onlajn prodavnicu svaki sat zastoja znači izgubljene porudžbine.
Objave i povratak na prethodnu verziju
Na 4buildsite-u objava ne znači „gasimo sajt, kopiramo fajlove, nadamo se“. Svaka objava generiše novu, kompletnu verziju vašeg sajta — statički renderovanu, odvojeno od one koja je uživo — a prebacivanje na nju je atomsko: u jednoj operaciji servis za isporuku počinje da servira novu verziju. Isti princip važi i za servise platforme: nova verzija kontejnera pokreće se pored stare i preuzima saobraćaj tek nakon provera ispravnosti.
Jednako je važan put nazad. Svaka objavljena verzija sajta čuva se netaknuta, pa povratak na prethodnu verziju znači prosto prebacivanje nazad, a ne vraćanje iz backup-a. Ako objava unese problem, vaša prodavnica ne ostaje zaglavljena na neispravnoj verziji. Jedina poštena napomena: podaci (porudžbine, proizvodi, sadržaj) žive u bazi podataka, odvojeno od objavljenih verzija — zato se njima upravlja na trajnim volumenima, odvojeno od fajlova sajta.
- Svaka objava = nova, kompletna verzija, atomski prebačena
- Rollback = prebacivanje nazad na prethodnu verziju
- Objavljujete izmene bilo kada, uključujući i usred sezone rasprodaja
Efikasnost i troškovi: više performansi za isti novac
Klasična virtuelna mašina izvršava kompletan operativni sistem za svaku aplikaciju — gigabajti memorije i minuti pokretanja potrošeni samo na „ambalažu“. Kontejneri dele kernel domaćina, pa na isti server staje mnogo više sajtova, svaki sa svojom izolacijom. Ta gustina je razlog zbog kog 4buildsite može da uključi hosting i SSL u pretplatu, bez posebnog troška infrastrukture po sajtu.
Za vaš objavljeni sajt skaliranje na saobraćaj je još jednostavnije: pošto su to statički fajlovi, njihovo servirenje je izuzetno jeftino — nalet posetilaca znači više isporučenih fajlova, a ne dodatne procese koji bi se gurali međusobno. A servisi platforme, kao kontejneri koji se pokreću za sekunde, mogu dobiti dodatne instance kada je potrebno. Plaćate predvidljivu pretplatu, a ne infrastrukturu trajno dimenzionisanu za najopterećeniji dan u godini. O tome kako zapravo upravljamo ovim kontejnerima — orkestracija, proxy, CI/CD, monitoring — pročitajte na stranici Cloud i DevOps.
Prednosti i ograničenja
Prednosti
- Objavljeni sajt se servira statički, a platforma radi u izolovanim kontejnerima — preopterećen ili kompromitovan komšija ga ne pogađa.
- Iste slike platforme na testu i u produkciji — nula „kod mene radi, uživo ne radi“.
- Objave: nova verzija sajta generiše se odvojeno i atomski prebacuje.
- Povratak na prethodno objavljenu verziju ako izmena ne radi.
- Kontejneri se pokreću brzo — servisi platforme mogu da se prošire pri vrhuncima saobraćaja.
- Velika gustina po serveru — hosting uključen u pretplatu, bez posebnog troška.
Ograničenja
- Izolacija koristi deljeni kernel domaćina — slabija je od hardverske izolacije namenske virtuelne mašine.
- Kontejner je prolazan: trajni podaci (baza podataka, otpremljeni fajlovi) traže volumene i backup kojima se upravlja zasebno.
- Slike i njihovi slojevi troše prostor na disku — bez periodičnog čišćenja se gomilaju.
- Za timove koji njime sami upravljaju, Docker ima stvarnu krivu učenja — na 4buildsite-u njime u potpunosti upravlja platforma.
Kratak zaključak
Docker kontejnerizacija je de facto standard industrije za pokretanje veb aplikacija: izolacija, konzistentnost test–produkcija i jednostavan povratak na prethodnu verziju. Na 4buildsite-u platforma koja gradi i isporučuje vaš sajt radi kontejnerizovano, a objave vašeg sajta su verzionisane, atomski prebacivane i reverzibilne — način na koji se upravlja infrastrukturom (orkestracija, proxy, CI/CD) opisan je na stranici Cloud i DevOps.
Tabela specifikacija
| Mogućnost | Ograničenje / prag | Tipična upotreba | |
|---|---|---|---|
| Izolacija resursa | CPU/RAM ograničenja po kontejneru (cgroups, namespaces) | Deljeni kernel — nije hardverska izolacija kao kod VM-a | Sajtovi i prodavnice na deljenoj infrastrukturi |
| Pokretanje / deploy | Kontejner se pokreće za sekunde | Prvo preuzimanje slike traje duže | Česte objave i ažuriranja |
| Rollback | Vraćate se na bilo koju prethodnu sliku | Podaci u bazi se ne vraćaju zajedno sa slikom | Povratak kada ažuriranje ne radi |
| Prenosivost | OCI slika — radi na bilo kom Linux hostu ili cloud-u | Slike su po arhitekturi (x86/ARM) | Prebacivanje između servera bez prepisivanja aplikacije |
| Gustina / cena | Desetine izolovanih kontejnera na jednom serveru | Svi dele kernel i disk domaćina | Mali trošak po sajtu — hosting uključen u pretplatu |
Docker naspram virtuelnih mašina naspram deljenog hostinga (cPanel)
| Kriterijum | Docker (kontejneri) | Virtuelne mašine | Deljeni hosting (cPanel) |
|---|---|---|---|
| Izolacija | Po kontejneru (procesi, fajlovi, resursi) | Potpuna (virtuelizovan hardver) | Slaba — stotine sajtova na istom serveru |
| Brzina pokretanja / deploy-a | Sekunde | Minuti (podizanje celog OS-a) | Izmene direktno na živom serveru (FTP) |
| Potrošnja resursa | Minimalna — bez posebnog OS-a po aplikaciji | Velika — ceo OS po mašini | Mala, ali nekontrolisano deljena između komšija |
| Rollback | Trenutan — ponovo pokrećete prethodnu sliku | Iz snapshot-a — sporije | Ručno, iz backup-a |
| Bezbednost | Incident ograničen na kontejner | Najjača izolacija | Kompromitovan sajt može pogoditi komšije |
| Cena po sajtu | Mala — velika gustina po serveru | Visoka — plaćate celu mašinu | Veoma mala, ali nepredvidive performanse |
Često postavljana pitanja
Da li Docker utiče na brzinu mog sajta?
Ne. Kontejneri rade nativno na Linux kernelu, bez sloja hardverske virtuelizacije, pa je overhead zanemarljiv. Brzinu sajta određuju kod, keš i mreža — a izolacija resursa je čak čini predvidljivijom nego na deljenom hostingu.
Zašto ne klasični hosting sa cPanel-om, kao kod WordPress-a?
Na klasičnom deljenom hostingu stotine sajtova dele isti server bez strogih ograničenja: preopterećen komšija vas usporava, a kompromitovan vas može pogoditi. Na 4buildsite-u se objavljeni sajt servira statički — ne izvršava se kod po sajtu koji bi mogao biti kompromitovan — a servisi platforme rade izolovano u kontejnerima. To su stvari koje cPanel ne nudi.
Šta se dešava ako mi objava pokvari sajt?
Prethodno objavljena verzija i dalje postoji, netaknuta, pa povratak je prebacivanje servisa za isporuku nazad na nju. Prodavnica ne ostaje zaglavljena na neispravnoj verziji, a podaci u bazi ostaju netaknuti.
Moram li da znam Docker da bih koristio 4buildsite?
Ne. Kontejnerizacijom u potpunosti upravlja platforma: vi gradite sajt u vizuelnom editoru na panel.4buildsite.net i objavljujete. Docker radi „ispod haube“ — prednosti (izolacija, rollback) dobijate bez ikakvog podešavanja.
Da li je Docker bezbedan za onlajn prodavnicu?
Da. Izolacija procesa i fajlova ograničava domet eventualnog incidenta na taj kontejner, a ne na ceo server. Podaci o kartici ionako ne prolaze kroz kontejner — plaćanja obrađuje Stripe, na infrastrukturi sertifikovanoj od strane Stripe-a.
Da li je Docker isto što i virtuelna mašina?
Ne. Virtuelna mašina virtuelizuje kompletan hardver i izvršava sopstveni operativni sistem — pokreće se minutima i mnogo troši. Kontejner deli kernel domaćina: pokreće se za sekunde, troši delić resursa i zadržava izolaciju aplikacije.