Vodiči

Šta je Docker? Kontejneri objašnjeni za neprogramere

Docker je alat koji pakuje aplikaciju zajedno sa svim što joj treba za rad (pravu verziju jezika, biblioteke, sistemske alate i podešavanja) u standardnu jedinicu zvanu kontejner. Kontejner radi na isti način na razvojnom laptopu, test serveru ili cloud hostu, što rešava klasični problem „ali na mom računaru radi“. Recept za pravljenje kontejnera je kratak tekstualni fajl zvan Dockerfile.

Zašto je Docker važan kada praviš aplikaciju uz AI

Ako tvoja aplikacija ima backend, API u Python-u, Node-u, C#-u ili Javi, mora da radi negde gde je instaliran upravo pravi softver. Docker je najčešći način da to bude ponovljivo.

  • Postavljanje backend-a. Mnoge platforme, uključujući Mythex, postavljaju backend tako što prave kontejner iz Dockerfile-a. U Mythex-u, kada zatražiš „C# Web API“ ili „Java backend“, dobijaš aplikaciju i Dockerfile, a objavljivanje pravi sliku i postavlja je (API backend-i).
  • Napuštanje platforme. Ako izvezeš aplikaciju napravljenu uz AI, Dockerfile znatno olakšava pokretanje na drugom hostu. Pogledaj kako izvesti i samostalno hostovati aplikaciju napravljenu uz AI.
  • Rad sa programerima. Programer koji se pridruži tvom projektu može da pokrene celu aplikaciju jednom ili dve komande, umesto da provede dan instalirajući stvari.

Svakodnevna analogija: brodski kontejneri

Pre standardnih brodskih kontejnera, teret se utovarao komad po komad: vreće, bačve, sanduci, a svaka luka je to radila na svoj način. Standardni čelični kontejner to je promenio: spakuj ga jednom, pa svaki brod, dizalica, voz ili kamion može da ga prenese, a da ne mari šta je unutra.

Docker radi isto za softver:

  • Dockerfile je lista za pakovanje i uputstvo.
  • Slika je zapečaćen, spakovan kontejner.
  • Pokrenut kontejner je ta kutija stavljena u rad na brodu, ovde na serveru.
  • Docker Engine je dizalica i brod: softver na serveru koji zna kako da pokrene bilo koji kontejner.

Kako Docker radi

DeoŠta je
DockerfileTekstualni fajl sa korak-po-korak uputstvima za pravljenje slike.
Slika (image)Paket samo za čitanje: osnovne delove operativnog sistema, runtime, biblioteke i tvoj kod.
KontejnerPokrenuta instanca slike, izolovana od drugih aplikacija na istoj mašini.
RegistarMesto za čuvanje i deljenje slika, kao što su Docker Hub ili registar cloud provajdera.
Docker EnginePozadinski servis koji pravi slike i pokreće kontejnere. Besplatan i otvorenog koda.
Docker DesktopAplikacija za Mac, Windows i Linux koja spaja engine sa grafičkim interfejsom.

Kontejneri naspram virtuelnih mašina: virtuelna mašina se pretvara da je potpuno zaseban računar sa sopstvenim operativnim sistemom, pa je teška i sporo se pokreće. Kontejner deli jezgro operativnog sistema domaćina i izoluje samo aplikaciju i njene fajlove, pa se obično pokrene za nekoliko sekundi i troši mnogo manje memorije. Mnogo kontejnera može da radi jedan pored drugog na istom serveru.

Praktičan primer: mali Python API

Zamisli da je tvoj AI alat napravio Python FastAPI backend za aplikaciju za rezervacije. Dockerfile bi mogao da izgleda ovako:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Red po red:

RedŠta radi
FROM python:3.12-slimKreće od zvanične slike koja već ima instaliran Python 3.12.
WORKDIR /appRadi u folderu /app unutar kontejnera.
COPY requirements.txt . i RUN pip install ...Kopira listu biblioteka i instalira ih.
COPY . .Kopira kod same aplikacije.
EXPOSE 8000Beleži da aplikacija sluša na portu 8000.
CMD [...]Komanda koja pokreće web server kada se kontejner pokrene.

Ukratko: „Kreni sa Python-om 3.12. Instaliraj biblioteke navedene u requirements.txt. Kopiraj kod. Pokreni web server na portu 8000.“

Razvojni programer (ili platforma za hosting) zatim pokreće dve komande:

docker build -t booking-api .
docker run -p 8000:8000 booking-api

Prva pravi sliku i imenuje je booking-api. Druga pokreće kontejner i povezuje port 8000 na mašini sa portom 8000 unutar kontejnera. API sada radi, na isti način kao na svakom serveru koji ima Docker.

Primeti šta nije u slici: lozinke i API ključevi. Oni se prosleđuju kada se kontejner pokrene, kao promenljive okruženja, pa ista slika može da radi u testiranju i produkciji sa različitim podešavanjima.

Ključni pojmovi

PojamZnačenje
KontejnerIzolovan, pokrenut paket aplikacije i njenih zavisnosti.
Slika (image)Šablon iz kojeg se kontejner pokreće.
Osnovna slika (base image)Polazna tačka u FROM redu Dockerfile-a, kao što su python:3.12-slim ili node:22.
Sloj (layer)Svaki korak Dockerfile-a dodaje keširani sloj, što ubrzava ponovna gradnja.
Mapiranje portaPovezivanje porta na domaćinu sa portom unutar kontejnera.
VolumenSkladište koje preživljava kada se kontejner zameni. Sami kontejneri su za jednokratnu upotrebu.
Docker ComposeFajl koji opisuje više kontejnera koji rade zajedno, na primer API i bazu.
KubernetesSistem za pokretanje mnogo kontejnera na mnogo servera. Većini malih aplikacija nije potreban.

Česte zablude

  • „Docker je virtuelna mašina.“ Lakši je: kontejneri dele jezgro domaćina.
  • „Podaci sačuvani unutar kontejnera su bezbedni.“ Kontejneri su namenjeni da se odbace i zamene. Sve što mora da opstane, kao što su podaci korisnika ili otpremljeni fajlovi, pripada bazi, skladištu fajlova ili volumenu.
  • „Stavljanje tajni u Dockerfile je u redu jer je privatno.“ Slike se dele i gurnu u registre. Prosleđuj tajne u vreme izvršavanja.
  • „Docker čini aplikaciju bezbednom.“ Izolacija pomaže, ali kontejner sa zastarelim softverom i slabim podešavanjima je i dalje ranjiv.
  • „Svaka aplikacija treba Docker.“ Statički sajt ili jednostavan frontend obično se hostuje kao obični fajlovi, bez kontejnera.
  • „Docker Desktop je besplatan za sve.“ Engine je besplatan; Docker Desktop zahteva plaćenu pretplatu za veće kompanije, prema Dockerovim uslovima.

Šta tražiti od svog AI alata

  • „Da li ova aplikacija treba Dockerfile? Ako da, objasni svaki red jednostavnim jezikom.“
  • „Koristi malu, zvaničnu osnovnu sliku i zakači verziju jezika.“
  • „Drži tajne van slike. Čitaj ih iz promenljivih okruženja pri izvršavanju.“
  • „Pobrini se da se otpremljeni fajlovi i podaci čuvaju u bazi ili skladištu fajlova, a ne unutar kontejnera.“
  • „Dodaj Docker Compose fajl da programer može da pokrene frontend, API i bazu lokalno jednom komandom.“
  • „Dodaj endpoint za proveru zdravlja da domaćin može da vidi da li je API živ.“

Docker u Mythex-u

Ne moraš da instaliraš ni pokrećeš Docker da bi koristio Mythex. Tvoj projekat radi u privatnom cloud sandbox-u, a kada zatražiš backend koji zahteva kontejner, na primer C#, Java ili prilagođeni Node ili Python servis, Mythex napiše aplikaciju i Dockerfile, prikaže je u sandbox-u i postavi je kada objaviš, bez ikakvog podešavanja hostinga (kako se bira tehnologija). Na Pro planu možeš da izvezeš projekat ili ga sinhronizuješ sa GitHub-om i poneseš Dockerfile sa sobom. Za to kako se backend i frontend uklapaju, pogledaj frontend naspram backend-a.

Pitanja

Šta je Docker jednostavnim rečima?

Docker je alat koji pakuje aplikaciju zajedno sa svim što joj treba za rad (runtime jezika, biblioteke i podešavanja) u standardnu jedinicu zvanu kontejner. Kontejner radi na isti način na laptopu, test serveru ili cloud hostu.

Koja je razlika između Docker slike i kontejnera?

Slika je spakovan šablon samo za čitanje: aplikacija i njene zavisnosti, napravljeni iz Dockerfile-a. Kontejner je pokrenuta kopija te slike. Iz jedne slike možeš da pokreneš mnogo kontejnera.

Da li je Docker virtuelna mašina?

Nije. Virtuelna mašina emulira ceo računar sa sopstvenim operativnim sistemom. Kontejneri dele jezgro operativnog sistema domaćina i izoluju samo aplikaciju, pa se brže pokreću i troše manje memorije.

Da li je Docker besplatan?

Docker Engine, jezgro koje pokreće kontejnere, besplatan je i otvorenog koda. Od septembra 2026, Dockerovi uslovi kažu da je Docker Desktop besplatan za nekomercijalne projekte otvorenog koda i za kompanije sa manje od 250 zaposlenih i manje od 10 miliona dolara godišnjeg prihoda; veće kompanije moraju da plaćaju pretplatu.

Da li moram da učim Docker da bih pravio aplikaciju uz AI?

Obično ne. Mnogi AI alati za pravljenje aplikacija brinu o kontejnerima umesto tebe. Korisno je znati šta je Dockerfile, da razumeš kako se backend pakuje i da možeš aplikaciju da pokreneš ili hostuješ negde drugde ako je izvezeš.

Mythex · Pricing · Pravite bilo šta uz AI · Šabloni za sajtove i aplikacije · Mythex u poređenju · Rečnik pojmova za pravljenje aplikacija uz AI · Besplatni alati za pravljenje aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)