Skip to content
VDS · Docker i kontejneri

Portainer: kontejneri kroz pregledač

Kako da instaliraš web panel za upravljanje kontejnerima, zašto je zgodan i zašto ne treba da ga izložiš internetu bez zaštite.

Ažurirano 23. avgust 2026.

Portainer je web interfejs za Docker: lista kontejnera, logovi, konzola u kontejner, volumeni, mreže i Compose stackovi. Zgodan je kada ne želiš svaki put da se prijavljuješ preko SSH samo da bi „video šta je puklo”.

Instalacija

docker volume create portainer_data
docker run -d \
  --name portainer \
  --restart unless-stopped \
  -p 127.0.0.1:9443:9443 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:2.21.4

Port je vezan na lokalni interfejs. Panel možeš da otvoriš kroz SSH tunel:

ssh -L 9443:127.0.0.1:9443 root@<machine-address>

Zatim u pregledaču otvori https://localhost:9443. Sertifikat je samopotpisan, pa će pregledač da te upozori — to je normalno kada mu pristupaš kroz tunel.

Prvog administratora kreira onaj ko prvi otvori panel. Ako si port izložio internetu i otišao da popiješ čaj, administrator nećeš biti ti. Portainer zatvara registraciju nekoliko minuta nakon pokretanja, ali ne treba da se pouzdaš u to — napravi nalog odmah.

Zašto je ovo opasno i šta da radiš

Panel montira /var/run/docker.sock. Pristup tom socketu je jednak root pristupu na mašini: kroz njega možeš da pokreneš kontejner sa montiranim root-om hosta. Zato važe sledeća pravila:

  • Ne izlaži port internetu. Koristi ili SSH tunel ili web server sa sertifikatom i dvofaktorskom autentifikacijom.
  • Neka administratorska lozinka bude dugačka i jedinstvena, ne ista kao root lozinka mašine.
  • Daj pojedincima odvojene naloge sa ograničenim pravima, ne zajednički login.
  • Ako ti panel retko treba, drži kontejner zaustavljen i pokreni ga kada zatreba: docker start portainer.

Šta je u njemu zgodno

  • Logovi sa pretragom i isticanjem — brže od docker logs u tekstualnoj konzoli 80×24.
  • Konzola u kontejner direktno u pregledaču.
  • Stackovi — nalepi sadržaj compose.yaml, klikni na deploy. Dobro je za jednokratne servise, ali za trajne je bolje da fajl držiš na disku pod kontrolom verzija: stack napravljen u panelu lako se izgubi pri reinstalaciji.
  • Volumeni i image-i — vidiš šta koliko prostora zauzima; pomaže pri rešavanju problema sa nestankom prostora.

Šta u njemu ne treba da radiš

  • Da u njemu držiš jedinu kopiju definicija svojih servisa. compose.yaml fajlovi u direktorijumu na disku nadživeće panel.
  • Da ažuriraš kontejnere dugmetom „recreate” bez razumevanja šta će se desiti sa volumenima. Vidi ažuriranje kontejnera.
  • Da ga tretiraš kao zamenu za monitoring. Portainer prikazuje trenutno stanje, ne istoriju, i ne šalje alarme — za to ti treba Uptime Kuma.

Resursi

Kontejner koristi oko 100 MB memorije i radi na svakom tieru. Podaci se čuvaju u volumenu portainer_data: nalozi, podešavanja, stackovi. Uključi ga u svoj backup ili budi spreman da ponovo konfigurišeš panel.

Česte greške

  • Zaboravljanje da panel upravlja samo ovom mašinom. Može da upravlja i drugom mašinom, ali to zahteva agenta na njoj i otvoren port između njih.
  • Korišćenje latest taga za sam panel. Veliko ažuriranje menja format podataka. Fiksiraj verziju.
  • Brisanje „nekorišćenog” volumena kroz cleanup. Portainer te upozori, ali ljudi kliknu na dugme bez čitanja. Volumeni sa bazama podataka izgledaju nekorišćeno dok je kontejner zaustavljen — vidi volumeni.