Docker — izolovani kontejneri za stabilne sajtove
Cijela platforma 4buildsite — editor, API, engine 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. Jednostavno rečeno: ako nešto pođe naopako, ste ponovo na prethodnoj verziji.
Š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 za rad: runtime, biblioteke, konfiguraciju. Kontejner radi izolovano od ostatka servera, ali direktno koristi Linux kernel domaćina — bez zasebnog 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 kojem Linux serveru ili oblaku.
Klasična analogija je prekomorski kontejner: kakav god teret sadrži, ima isti standardni oblik i može se premjestiti na bilo koji brod, voz ili kamion. Isto tako, servisi 4buildsite koji grade i isporučuju vaš sajt — editor, FastAPI API, engine za renderovanje — pakuju se u standardne slike koje rade isto na test serveru i u produkciji. Za vas, kao vlasnika sajta ili prodavnice, to znači predvidivost: ono što ste vidjeli u pregledu tačno je ono što dobijaju vaši posjetioci.
- Kontejner = aplikacija + njene zavisnosti, u jednom izolovanom paketu
- Standardni OCI format — ista slika radi na bilo kojem serveru ili oblaku
- Bez zasebnog operativnog sistema po servisu — pokreće se za sekunde, a ne minute
- Na 4buildsite kontejnerizaciju vodi platforma — vi samo objavljujete
Izolacija: vaš sajt ne zavisi od svojih komšija
Na klasičnom dijeljenom hostingu stotine sajtova dijele isti server, iste procese, a često i istu PHP instalaciju. Ako komšija dobije skok saobraćaja ili loše napisana skripta pojede sav CPU, vaš sajt se usporava — problem „bučnog komšije“. 4buildsite to rješava iz dva pravca. Prvo: objavljeni sajtovi se renderuju statički — na serverima koji ih isporučuju ne radi nikakav kod po sajtu (PHP, dodaci, skripte), pa nema tuđe loše napisane skripte koja bi pojela CPU. Drugo: servisi platforme rade svaki u sopstvenom kontejneru, sa odvojenim procesima i datotekama (putem namespaces) i mogućnošću ograničenja CPU-a i memorije (putem cgroups, mehanizama Linux kernela).
Izolacija je jednako važna za bezbjednost. Na dijeljenom hostingu jedan kompromitovan sajt može postati kapija ka susjednim sajtovima na istom serveru. Na 4buildsite objavljeni sajt je skup statičkih datoteka — nema koda po sajtu koji bi se mogao kompromitovati preko dodataka ili tema — a servisi platforme koji obrađuju podatke (narudžbine, plaćanja, editor) žive u odvojenim kontejnerima: fajl-sistem je izolovan, a incident ostaje zadržan unutar tog kontejnera.
- Objavljeni sajt = statičke datoteke — nula koda po sajtu koji bi se mogao kompromitovati
- Servisi platforme: odvojen fajl-sistem i procesi po kontejneru
- Statička isporuka datoteka, bez koda po sajtu
Ista verzija svuda: nula „kod mene radi“
Najčešći izvor grešaka na klasičnom webu je razlika između okruženja u kojem je sajt testiran i servera na kojem radi uživo: drugačija verzija jezika, nedostajuće proširenje, drugačija konfiguracija. Docker slika eliminiše cijelu tu klasu problema: slika se gradi jednom, sa fiksiranim zavisnostima, a isti artefakt radi i u testiranju i u produkciji. Nema „ručno podešavanja na serveru“.
Za vas se to direktno pretvara u stabilnost. Kad uredite sajt u vizuelnom editoru na panel.4buildsite.net i pritisnete objavi, verzija koja stiže do posjetilaca prošla je iste korake, kroz iste kontejnerizovane servise, svaki put. Manje iznenađenja nakon objave znači manje noći sa ugašenom prodavnicom — a za online prodavnicu svaki sat van mreže znači izgubljene narudžbine.
Objave i povratak na prethodnu verziju
Na 4buildsite objavljivanje ne znači „ugasi sajt, kopiraj datoteke, nadaj se“. Svaka objava generiše novu, kompletnu verziju vašeg sajta — renderovanu statički, 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 za servise platforme: nova verzija kontejnera pokreće se pored stare i preuzima saobraćaj tek nakon provjera ispravnosti (health checks).
Jednako je važan i put nazad. Svaka objavljena verzija sajta čuva se netaknuta, pa povratak na prethodnu verziju znači prosto prebacivanje nazad, a ne višesatno vraćanje iz rezervne kopije. Ako objava unese problem, vaša prodavnica ne ostaje zaglavljena na pokvarenoj verziji. Jedna poštena napomena: podaci (narudžbine, proizvodi, sadržaj) žive u bazi podataka, odvojeno od objavljenih verzija — zato se njima upravlja na trajnim volumenima, odvojenim od datoteka sajta.
- Svaka objava = nova, kompletna verzija, atomski prebačena
- Povratak = prebacivanje na prethodnu verziju
- Objavljujte izmjene bilo kada, čak i u sezoni najveće prodaje
Efikasnost i trošak: više performansi za isti novac
Klasična virtuelna mašina pokreće kompletan operativni sistem za svaku aplikaciju — gigabajte memorije i minute pokretanja potrošene samo na „pakovanje“. Kontejneri dijele kernel domaćina, pa na isti server staje znatno više sajtova, svaki sa sopstvenom izolacijom. Ta gustina je razlog zbog kojeg 4buildsite može uključiti hosting i SSL u pretplatu, bez zasebnog troška infrastrukture po sajtu.
Za vaš objavljeni sajt skaliranje saobraćaja je još jednostavnije: pošto su to statičke datoteke, njihovo servisiranje je izuzetno jeftino — skok posjetilaca znači više isporučenih datoteka, a ne dodatne procese koji jedni drugima smetaju. A servisi platforme, kao kontejneri koji se pokreću za sekunde, mogu dobiti dodatne instance kad zatreba. Plaćate predvidivu pretplatu, a ne infrastrukturu stalno dimenzionisanu za najopterećeniji dan u godini. O tome kako zaista upravljamo ovim kontejnerima — orkestracija, proxy, CI/CD, monitoring — pogledajte stranicu Cloud i DevOps.
Prednosti i mane
Prednosti
- Objavljeni sajt se servira statički, a platforma radi u izolovanim kontejnerima — zauzet ili kompromitovan komšija ne može uticati na njega.
- Iste slike platforme u testiranju i produkciji — nula „kod mene radi“.
- Objave: nova verzija sajta generiše se zasebno i atomski prebacuje.
- Povratak na prethodno objavljenu verziju ako izmjena pođe naopako.
- Kontejneri se pokreću za sekunde — servisi platforme se skaliraju pri skokovima saobraćaja.
- Velika gustina po serveru — hosting uključen u pretplatu, bez zasebnog troška.
Ograničenja
- Izolacija koristi zajednički kernel domaćina — slabija od hardverske izolacije namjenske virtuelne mašine.
- Kontejner je prolazan: trajni podaci (baza, otpremljene datoteke) zahtijevaju zasebno vođene volumene i rezervne kopije.
- Slike i njihovi slojevi zauzimaju prostor na disku — bez periodičnog čišćenja gomilaju se.
- Za timove koji ga sami vode, Docker ima stvarnu krivu učenja — na 4buildsite njime u potpunosti upravlja platforma.
Kratak zaključak
Docker kontejnerizacija je de facto standard industrije za pokretanje web aplikacija: izolacija, ujednačenost testiranja i produkcije i trenutni povratak. Na 4buildsite platforma koja gradi i isporučuje vaš sajt radi kontejnerizovana, a objave vašeg sajta su verzionisane, atomski prebacivane i povratne — kako se infrastruktura vodi (orkestracija, proxy, CI/CD) objašnjeno 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) | Zajednički kernel — nije hardverska izolacija kao kod VM-a | Sajtovi i prodavnice na dijeljenoj infrastrukturi |
| Pokretanje / isporuka | Kontejner se pokreće za sekunde | Prvo preuzimanje slike traje duže | Česte objave i ažuriranja, bez prekida |
| Povratak | Povratak na bilo koju prethodnu sliku za sekunde | Podaci iz baze ne vraćaju se zajedno sa slikom | Trenutni oporavak kad ažuriranje pođe naopako |
| Prenosivost | OCI slika — radi na bilo kojem Linux domaćinu ili oblaku | Slike su po arhitekturi (x86/ARM) | Prelazak između servera bez prepisivanja aplikacije |
| Gustina / trošak | Desetine izolovanih kontejnera na jednom serveru | Svi dijele kernel i disk domaćina | Nizak trošak po sajtu — hosting uključen u pretplatu |
Docker vs virtuelne mašine vs dijeljeni hosting (cPanel)
| Kriterijum | Docker (kontejneri) | Virtuelne mašine | Dijeljeni hosting (cPanel) |
|---|---|---|---|
| Izolacija | Po kontejneru (procesi, datoteke, resursi) | Potpuna (virtuelizovani hardver) | Slaba — stotine sajtova na istom serveru |
| Brzina pokretanja / isporuke | Sekunde | Minuti (pokretanje punog OS-a) | Izmjene direktno na serveru uživo (FTP) |
| Dodatno opterećenje resursa | Minimalno — bez zasebnog OS-a po aplikaciji | Veliko — pun OS po mašini | Malo, ali nekontrolisano dijeljeno među komšijama |
| Povratak | Trenutan — ponovo se pokreće prethodna slika | Iz snapshota — sporije | Ručno, iz rezervne kopije |
| Bezbjednost | Incident ograničen na kontejner | Najjača izolacija | Jedan kompromitovan sajt može uticati na komšije |
| Trošak po sajtu | Nizak — velika gustina po serveru | Visok — plaćate cijelu mašinu | Veoma nizak, ali nepredvidive performanse |
Česta pitanja
Da li Docker utiče na brzinu mog sajta?
Ne. Kontejneri rade nativno na Linux kernelu, bez sloja hardverske virtuelizacije, pa je dodatno opterećenje zanemarljivo. Brzinu sajta određuju kod, keširanje i mreža — a izolacija resursa je zapravo čini predvidivijom nego na dijeljenom hostingu.
Zašto ne klasični cPanel hosting, kao kod WordPressa?
Na klasičnom dijeljenom hostingu stotine sajtova dijele isti server bez strogih ograničenja: zauzet komšija vas usporava, a kompromitovan može uticati na vas. Na 4buildsite objavljeni sajt se servira statički — bez koda po sajtu koji bi se mogao kompromitovati — a servisi platforme rade izolovano u kontejnerima. To cPanel ne nudi.
Šta se desi ako objava pokvari moj sajt?
Prethodno objavljena verzija i dalje postoji, netaknuta, pa povratak je jedno prebacivanje: servis za isporuku prebacuje se nazad na nju. Prodavnica nikada ne ostaje zaglavljena na pokvarenoj verziji, a podaci u bazi ostaju netaknuti.
Moram li znati Docker da bih koristio 4buildsite?
Ne. Kontejnerizacijom u potpunosti upravlja platforma: sajt gradite u vizuelnom editoru na panel.4buildsite.net i objavljujete. Docker radi „ispod haube“ — dobijate prednosti (izolaciju, povratak) bez ikakvog podešavanja.
Da li je Docker siguran za online prodavnicu?
Da. Izolacija procesa i fajl-sistema ograničava domet incidenta na taj kontejner, a ne na cijeli server. Podaci o karticama ionako nikada ne prolaze kroz kontejner — plaćanja obrađuje Stripe, na Stripeovoj sertifikovanoj infrastrukturi.
Da li je Docker isto što i virtuelna mašina?
Ne. Virtuelna mašina virtuelizuje kompletan hardver i pokreće sopstveni operativni sistem — podiže se minutima i troši mnogo. Kontejner dijeli kernel domaćina: pokreće se za sekunde, koristi djelić resursa i drži aplikaciju izolovanom.