Preskoči na sadržaj
NovoPustili smo novi sajt sa mnogo novih opcija — AI Builder uskoro

Šta je · 5 minuta čitanja

Šta je Docker

Docker pokreće aplikacije u kontejnerima: zatvorenim paketima koji nose sve što aplikaciji treba. Zato ista aplikacija radi isto na vašem laptopu i na serveru.

BRZI ODGOVOR

Šta je Docker?

Docker je alat koji aplikaciju pakuje u kontejner zajedno sa svim bibliotekama i podešavanjima, pa ona radi isto na laptopu i na serveru. Kontejneri dele jezgro operativnog sistema, zato su lakši od virtuelnih mašina. Docker traži root pristup, pa radi na VPS-u, a ne na deljenom hostingu. BeoHosting VPS počinje od 1.790 RSD mesečno.

  • Image je šablon, kontejner je pokrenuti image
  • Kontejneri dele jezgro sistema
  • Treba root pristup, dakle VPS

Ažurirano: · BeoHosting tim

Kako Docker radi

Bez Dockera aplikacija zavisi od onoga što je instalirano na serveru: verzije PHP-a, Node.js-a, biblioteka i podešavanja. Ako se na laptopu i serveru razlikuju, nastaje poznato „kod mene radi“. Docker taj problem rešava tako što aplikaciju i sve od čega zavisi spakuje u image, a server samo pokreće taj image.

Docker koristi mogućnosti Linux jezgra (namespaces i cgroups) da svakom kontejneru da sopstveni pogled na fajlove, mrežu i procese i da mu ograniči procesor i memoriju. Kontejner se zato ponaša kao mali zaseban server, a pokreće se za sekundu.

Image, kontejner i volumen

Osnovni pojmovi u Docker-u
PojamŠta jePrimer
Imagešablon samo za čitanje sa aplikacijom i bibliotekamanginx:1.27, postgres:16, n8nio/n8n
Kontejnerpokrenuta instanca image-aweb server koji sluša na portu 80
Volumentrajni prostor za podatke van kontejnerafajlovi baze, otpremljene slike
Dockerfilerecept po kome se pravi sopstveni imageFROM node:22, COPY, RUN npm ci
Registarmesto sa koga se preuzimaju image-iDocker Hub, GitHub Container Registry

Kad obrišete kontejner, nestaje sve što nije u volumenu. Zato baze i otpremljeni fajlovi uvek idu u volumen, a volumene uključite u backup servera (na VPS-u je backup dodatna usluga).

Kontejner ili virtuelna mašina

Razlika između Docker kontejnera i virtuelne mašine
Docker kontejnerVirtuelna mašina (VPS)
Šta delijezgro operativnog sistema domaćinasamo hardver; ima svoje jezgro
Pokretanjesekunda ili dvedesetine sekundi do minut
Veličinadesetine do stotine MBnekoliko GB
Izolacijadobra, ali deli jezgrojača, potpuno odvojen sistem
Tipična upotrebaaplikacije i servisiceo server sa više aplikacija

Ovo nije izbor „ili-ili“: najčešće se Docker pokreće upravo na virtuelnoj mašini, odnosno na VPS-u. Razliku između vrsta servera objasnili smo na stranici šta je VPS.

Docker Compose

Aplikacija retko ima samo jedan deo: tu su sajt, baza i keš. Docker Compose ih opisuje u jednom fajlu i pokreće zajedno, sa zajedničkom mrežom i volumenima. Primer za WordPress sa bazom:

docker-compose.yml
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wp
      MARIADB_PASSWORD: promenite-lozinku
      MARIADB_RANDOM_ROOT_PASSWORD: "1"
    volumes:
      - db:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on: [db]
    ports:
      - "127.0.0.1:8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp
      WORDPRESS_DB_PASSWORD: promenite-lozinku
    volumes:
      - wp:/var/www/html

volumes:
  db:
  wp:

Komanda docker compose up -d pokreće oba kontejnera, a docker compose down ih gasi bez brisanja volumena. Za običan WordPress sajt Docker nije potreban: na WordPress hostingu radi bez ikakvog održavanja servera.

Zašto Docker traži VPS

Docker pokreće sistemski servis i koristi funkcije jezgra koje traže root pristup. Deljeni hosting to ne dozvoljava, jer bi jedan korisnik mogao da utiče na sve ostale na istom serveru. Zato Docker radi na VPS serveru ili namenskom serveru, gde ste vi administrator.

  • Za nekoliko manjih kontejnera (n8n, Uptime Kuma, mala baza) dovoljan je VPS sa 4 GB RAM-a.
  • Za aplikaciju sa bazom i više korisnika, ili za lokalne AI modele, uzmite 8 do 16 GB RAM-a.
  • Instalacija korak po korak je u vodiču kako instalirati Docker na VPS, a primeri u vodičima za n8n i Ollamu.

Pitanja o Docker-u

Image, Compose, cena i hosting.

Šta je Docker?

Docker je alat koji aplikaciju pakuje u kontejner zajedno sa svim bibliotekama i podešavanjima, pa ona radi isto na laptopu i na serveru. Kontejneri dele jezgro operativnog sistema, zato su lakši od virtuelnih mašina. Docker traži root pristup, pa radi na VPS-u, a ne na deljenom hostingu. BeoHosting VPS počinje od 1.790 RSD mesečno.

Koja je razlika između Docker image-a i kontejnera?

Image je šablon samo za čitanje: sadrži aplikaciju, biblioteke i podešavanja, kao recept. Kontejner je pokrenuta instanca tog image-a, sa svojim procesima i privremenim fajlovima. Iz jednog image-a možete pokrenuti više kontejnera, a podaci koji treba da ostanu čuvaju se u volumenima.

Da li Docker radi na deljenom hostingu?

Ne. Docker traži root pristup i pokretanje sistemskog servisa, što deljeni hosting ne dozvoljava. Za Docker vam treba VPS ili namenski server. Kod BeoHostinga VPS sa 2 vCPU, 4 GB RAM-a i 40 GB NVMe košta 1.790 RSD mesečno, uz root pristup.

Šta je Docker Compose?

Docker Compose opisuje više kontejnera jedne aplikacije u jednom fajlu, docker-compose.yml: na primer sajt, bazu i keš. Komandom docker compose up -d pokreće ih zajedno, sa mrežom i volumenima, a docker compose down ih gasi. Tako je cela postavka zapisana i lako se prenosi na drugi server.

Da li je Docker besplatan?

Docker Engine, koji pokreće kontejnere na Linux serveru, besplatan je i otvorenog koda. Docker Desktop, program za Windows i macOS, besplatan je za lično korišćenje i manje firme, a veće firme ga plaćaju po korisniku. Na VPS-u se koristi Docker Engine.