Instalacija i konfiguracija Portainer CE
Razina: Početnik
Vrijeme za dovršetak: ~30 minuta
Cilj: Nakon završetka ovog vodiča, imat ćete potpuno konfiguriran Portainer CE panel osiguran s HTTPS-om i spreman za upravljanje Docker infrastrukturom vašeg poslužitelja.
Uvod
Docker-bazirana containerizacija postala je standard za poslužiteljsku infrastrukturu, osiguravajući predvidljivo postavljanje i učinkovito skaliranje usluga. Međutim, kada se pokreće desetke kontejnera, upravljanje njima isključivo putem naredbenog retka postaje nezgodno. Portainer CE rješava ovaj problem pružajući korisnički prijateljsko web sučelje za Docker administraciju: omogućuje pristup svim kontejnerima, njihovim statusima, zapisima i resursima, a upravljanje se obavlja u nekoliko klikova bez gubitka kontrole nad sustavom.
Priprema poslužitelja
Prije instalacije potrebno je osigurati da je poslužitelj spreman za postavljanje Portainera. Sam Portainer radi kao kontejner, pa je potrebno instalirati samo Docker.
Sistemski zahtjevi
- Operativni sustav: Bilo koja Linux distribucija (Ubuntu 20.04+, Debian 11+, CentOS/Rocky Linux 8+) korištena u hostingu.
- Privilegije: root pristup ili mogućnost izvršavanja naredbi putem sudo.
- Hardverski zahtjevi: Minimalno 1 GB RAM-a i 10 GB slobodnog prostora na disku.
- Mrežni zahtjevi: Otvoreni portovi 8000 i 9443 za pristup Portaineru, port 443 za konfiguraciju reverznog proxyja.
Provjera dostupnosti Dockera
Povežite se s poslužiteljem putem SSH-a. Prije svega, provjerite je li Docker instaliran i radi li daemon:
docker --version sudo systemctl status docker
Ako se prikazuje verzija Dockera i status je aktivan (radi), korak instalacije Dockera može se preskočiti.
Instalacija Dockera (ako je potrebno)
Na novim poslužiteljima Docker obično nije prisutan. Da biste ga instalirali, pokrenite standardni skript (za Debian/Ubuntu):
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl enable docker sudo systemctl start docker
Za instalaciju Docker Compose dodatka (ako nije instaliran u prethodnom koraku), pokrenite:
sudo apt-get install docker-compose-plugin # Za Debian/Ubuntu # ili sudo dnf install docker-compose-plugin # Za CentOS/Rocky Linux
Provjerite verziju instaliranog docker compose:
docker compose version
Postavljanje Portainer CE u Dockeru
Postoje dva glavna načina za pokretanje Portainera: putem naredbe docker run (brzi početak) i putem docker-compose.yml (pogodno za verzioniranje konfiguracije).
Metoda 1: Pokretanje putem docker run
Pokrenite sljedeću naredbu na poslužitelju:
sudo docker run -d \ -p 8000:8000 \ -p 9443:9443 \ --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest
Naredba se pokreće putem sudo jer trenutni korisnik još nije dodan u docker grupu. Ako planirate koristiti docker bez sudo kasnije, dodajte korisnika u docker grupu: sudo usermod -aG docker $USER. Nakon izvršavanja naredbe, trebate se odjaviti i ponovno prijaviti ili ponovno pokrenuti sesiju.
Objašnjenje parametara:
- -d – Pokreni kontejner u pozadini.
- -p 8000:8000 – Prosljeđivanje porta za Edge agente i tunele.
- -p 9443:9443 – Prosljeđivanje porta za osigurano web sučelje (HTTPS). Portainer automatski generira samopotpisani SSL certifikat.
- --name portainer – Dodjeljuje smisleno ime kontejneru.
- --restart=always – Politika automatskog ponovnog pokretanja kontejnera u slučaju kvarova ili ponovnog pokretanja poslužitelja.
- -v /var/run/docker.sock:/var/run/docker.sock – Montira Docker socket unutar Portainer kontejnera. Ovo omogućuje Portaineru interakciju i upravljanje Docker daemon-om na hostu.
- -v portainer_data:/data – Stvara imenovani volumen za pohranu Portainer podataka (korisnici, postavke, konfiguracije veza).
- portainer/portainer-ce:latest – Slika s najnovijom stabilnom verzijom Community Edition.
Metoda 2: Pokretanje putem docker-compose
Da biste koristili ovu metodu, stvorite direktorij i docker-compose.yml datoteku:
mkdir ~/portainer-docker cd ~/portainer-docker nano docker-compose.yml
Umetnite sljedeći sadržaj:
services: portainer: image: portainer/portainer-ce:latest container_name: portainer restart: always ports: - "8000:8000" - "9443:9443" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data volumes: portainer_data:
Spremite datoteku i pokrenite naredbu:
docker compose up -d
Početno pokretanje i postavljanje web sučelja
Nakon pokretanja Portainer kontejnera, on postaje dostupan putem mreže.
Korak 1. Povezivanje s web sučeljem
Otvorite preglednik i idite na: https://<IP-adresa-poslužitelja>:9443.
Zbog korištenja samopotpisanog certifikata, preglednik će prikazati upozorenje. Ovo je normalno za prvo pokretanje. Morate nastaviti na stranicu (na primjer, kliknite "Prihvati rizik" ili "Nastavi na stranicu").

Korak 2. Kreiranje korisnika
Na stranici za registraciju, morat ćete navesti korisničko ime (preporučuje se admin) i postaviti jaku lozinku.
Lozinka mora biti složena jer omogućuje potpuni pristup upravljanju kontejnerima.
Korak 3. Povezivanje okruženja
Nakon kreiranja korisnika, Portainer će vas zatražiti da povežete okruženja. U ovoj fazi možete ili povezati lokalni Docker (već dostupan zahvaljujući montiranom socketu) ili nastaviti s dodavanjem udaljenih okruženja putem gumba "Add Environments". Udaljena okruženja su korisna kada trebate upravljati s više poslužitelja iz jednog Portainer sučelja: na primjer, dodavanje Docker hostova u različitim podatkovnim centrima ili poslužitelja s Kubernetesom. Povezivanje se vrši putem Portainer agenata ili putem API-ja koristeći TLS certifikate.
- Odaberite opciju "Get Started". Ovo je osnovni scenarij za jedan poslužitelj.

- Portainer će automatski detektirati lokalni Docker socket. Bit će prikazan kao "local".

- Kliknite na njega kako biste dovršili postavljanje.
Postavljanje je dovršeno. Portainer nadzorna ploča (glavni ekran) će se otvoriti s kratkim statistikama o kontejnerima, slikama, volumenima i mrežama.

Glavne značajke Portainera
Pogledajmo glavne sekcije sučelja koje se koriste za svakodnevne administrativne zadatke.
Nadzorna ploča
Početni ekran koji prikazuje opću sliku: broj pokrenutih i zaustavljenih kontejnera, broj preuzetih slika. Omogućuje brzo procjenjivanje stanja poslužitelja.
Kontejneri
- Središnja sekcija za upravljanje. Prikazuje popis svih kontejnera.
- Upravljanje kontejnerima: Pokreni, zaustavi, ponovno pokreni, izbriši kontejner jednim klikom.
- Zapisnici: Kartica "Logs" omogućuje pristup pregledavanju zapisnika kontejnera u stvarnom vremenu.
- Inspect: Prikazuje potpune informacije o kontejneru u JSON formatu: varijable okruženja, točke montiranja, mrežne postavke.
- Statistika: Grafovi potrošnje CPU-a, memorije i mreže za svaki kontejner. Pomaže u određivanju potrošnje resursa po pojedinačnim uslugama.
- Exec konzola: Mogućnost otvaranja web terminala unutar kontejnera za izvršavanje naredbi.
Stogovi
Implementacija Docker Compose u web sučelju. Omogućuje prijenos ili kreiranje YAML datoteka izravno putem preglednika za postavljanje aplikacija s više kontejnera.
Slike
- Upravljanje Docker slikama.
- Povlačenje: Mogućnost preuzimanja slika (npr. nginx:latest ili mysql:8.0) izravno iz sučelja.
- Uklanjanje: Čišćenje neiskorištenih slika za oslobađanje prostora na disku.
Volumeni
Upravljanje volumenima za trajne podatke. Prikazuje postojeće volumene, njihovu povezanost s kontejnerima i prostor koji zauzimaju. Kritično važno za baze podataka i korisničke podatke.
Mreže
Omogućuje stvaranje izoliranih mreža za interakciju kontejnera.
Povratak promjena (Uklanjanje Portainera)
Ako trebate potpuno ukloniti Portainer i njegove podatke s poslužitelja, slijedite ove korake:
1. Zaustavite i uklonite Portainer kontejner:
sudo docker stop portainer sudo docker rm portainer
2. Uklonite Portainer volumen podataka (upozorenje: ova radnja je nepovratna):
sudo docker volume rm portainer_data
Brisanje portainer_data volumena dovest će do nepovratnog gubitka svih korisnika, postavki i konfiguracija Portainera.
3. Uklonite Portainer sliku (opcionalno):
sudo docker rmi portainer/portainer-ce:latest
Sigurnost i preporuke
Za produkciju je potrebna dodatna sigurnosna konfiguracija Portainera.
Korištenje reverznog proxyja (Nginx/Apache)
Preporučuje se postavljanje poddomene (npr. portainer.domain.com) i prosljeđivanje prometa putem Nginxa. Ovo će omogućiti:
- Korištenje valjanog SSL certifikata (besplatnog od Let's Encrypt ili plaćenog SSL-a, npr. od Sectigo).
- Centralizirano bilježenje pristupa.
- Mogućnost postavljanja dodatne autentifikacije.
1. Instalacija i konfiguracija Nginxa
Instalirajte Nginx:
sudo apt install -y nginx # Za Debian/Ubuntu # ili sudo dnf install -y nginx # Za CentOS/Rocky Linux
Kreirajte konfiguracijsku datoteku za Portainer:
sudo nano /etc/nginx/sites-available/portainer.conf
Dodajte sljedeću konfiguraciju, zamjenjujući <YOUR_DOMAIN> s vašom domenom koja pokazuje na IP poslužitelja:
server { listen 80; server_name
; location / { proxy_pass https://localhost:9443; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; # Vrijeme čekanja za duge operacije proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; } }
Aktivirajte konfiguraciju:
sudo ln -s /etc/nginx/sites-available/portainer.conf /etc/nginx/sites-enabled/
Provjerite Nginx konfiguraciju:
sudo nginx -t
Ako je provjera uspješna, ponovno pokrenite Nginx:
sudo systemctl restart nginx
2. Postavljanje HTTPS-a (preporučeno)
Instalirajte Certbot:
sudo apt install -y certbot python3-certbot-nginx
Nabavite SSL certifikat:
sudo certbot --nginx -d
Zamijenite <YOUR_DOMAIN> s vašom domenom.
Tijekom instalacije unesite svoj email, na primjer, admin@<YOUR_DOMAIN>, zatim pritisnite Y dvaput.
Provjerite automatsko obnavljanje certifikata:
sudo systemctl list-timers | grep certbot
Konfiguracija vatrozida
Izravan pristup Portainer portovima treba biti ograničen. Dopustite pristup portovima 8000 i 9443 samo s pouzdanih IP adresa.
Budite oprezni s pravilima vatrozida. Neispravna konfiguracija može blokirati vaš pristup poslužitelju.
Primjer za UFW:
sudo ufw allow from 192.168.1.0/24 to any port 9443 proto tcp sudo ufw deny 9443
Gdje je 192.168.1.0/24 mreža pouzdanih IP adresa.
Redovita ažuriranja
Preporučuje se pratiti izdavanje novih verzija Portainera i pravovremeno ažurirati kontejner kako bi se uklonile potencijalne ranjivosti.
Provjera rada
Da biste provjerili radi li Portainer ispravno, izvršite sljedeće radnje.
1. Vizualna provjera: U sekciji "Containers", provjerite ima li portainer kontejner status pokretanja.
2. Kreiranje testnog kontejnera:
- Idite u sekciju "Containers", kliknite gumb "Add container".
- U polje "Name" unesite test-nginx.
- U polje "Image" unesite nginx:alpine.
- U sekciji "Port mapping" unesite host port 8080, container port 80.
- Kliknite "Deploy the container".
3. Provjera dostupnosti:
- Pričekajte da se kontejner pojavi na popisu sa statusom pokretanja.
- Otvorite preglednik i idite na
http://<YOUR_IP_ADDRESS>:8080. Trebala bi se prikazati Nginx početna stranica.
4. Provjera upravljanja:
- U Portaineru pronađite test-nginx kontejner i kliknite gumb "Stop".
- Osvježite Nginx stranicu u pregledniku – pristup bi trebao biti nedostupan.
- Kliknite "Start" – pristup stranici bi trebao biti vraćen.
Rješavanje problema
Problem 1: Ne mogu otvoriti Portainer web sučelje na https://<YOUR_IP_ADDRESS>:9443
Mogući uzrok: Vatrozid blokira port 9443.
Rješenje: Provjerite pravila vatrozida i osigurajte da je port otvoren. Za UFW: sudo ufw status | grep 9443.
Problem 2: Pogreška "Cannot connect to the Docker daemon" prilikom pokretanja Docker naredbi.
Mogući uzrok: Docker daemon ne radi ili korisnik nema dopuštenja.
Rješenje: Pokrenite daemon: sudo systemctl start docker. Ako ste dodali korisnika u docker grupu, odjavite se i ponovno prijavite.
Problem 3: Portainer kontejner se ne pokreće i odmah izlazi (status exited).
Mogući uzrok: Sukob porta ili oštećena slika.
Rješenje: Provjerite je li port 9443 zauzet od strane druge aplikacije: sudo ss -tulpn | grep 9443. Pokušajte ponovno dodijeliti port i ponovno pokrenuti kontejner: sudo docker restart portainer.
Zaključak
Portainer CE pruža učinkovit alat za vizualno praćenje i upravljanje Docker kontejnerima. Mogućnost brzog procjenjivanja statusa kontejnera, analize grafova potrošnje resursa i obavljanja tipičnih operacija bez povezivanja putem SSH-a smanjuje vrijeme reakcije na incidente i pojednostavljuje svakodnevnu administraciju.
Ovaj alat može biti koristan kada je potrebno omogućiti ograničen pristup upravljanju kontejnerima za developere ili manje iskusno osoblje bez davanja izravnog pristupa naredbenom retku poslužitelja. Portainer CE je standardno rješenje za vizualizaciju container infrastrukture i preporučuje se za korištenje na poslužiteljima.
Verzija dokumenta: 1.1
Zadnje ažurirano: ožujak 2026
Vlasnik: Tim za tehničku dokumentaciju