Implementacija Portainera CE u Dockeru za upravljanje kontejnerima | INTROSERV
EUR
european

EUR

usa

USD

Croatia Hr
Ex. VAT Ex. VAT 0%

Implementacija Portainera CE u Dockeru za upravljanje kontejnerima

Razina: Početnik
Vrijeme potrebno za dovršetak: ~30 minuta
Cilj: Nakon dovršetka ovog vodiča imat ćete potpuno konfiguriranu Portainer CE nadzornu ploču zaštićenu HTTPS-om i spremnu za upravljanje Docker infrastrukturom vašeg poslužitelja. Nakon dovršetka ovog vodiča imat ćete potpuno konfiguriranu Portainer CE nadzornu ploču zaštićenu HTTPS-om i spremnu za upravljanje Docker infrastrukturom vašeg poslužitelja.

Uvod

Kontejnerizacija temeljena na Dockeru postala je standard za poslužiteljsku infrastrukturu, osiguravajući predvidljivu implementaciju i učinkovito skaliranje usluga. Međutim, pri pokretanju desetaka kontejnera, njihovo upravljanje isključivo putem naredbenog retka postaje nezgrapno. Portainer CE rješava taj problem pružajući korisnički prilagođeno web sučelje za administraciju Dockera: omogućuje pristup svim spremnicima, 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 implementaciju Portainera. Sam Portainer radi kao spremnik, stoga je potrebno instalirati samo Docker.

Sistemski zahtjevi:

  • Operativni sustav: Bilo koja Linux distribucija (Ubuntu 20.04+, Debian 11+, CentOS/Rocky Linux 8+) koja se koristi za hosting.
  • Privilegiji: root pristup ili mogućnost izvršavanja naredbi putem sudo-a.
  • 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 obrnutog proxyja.

Provjera dostupnosti Dockera

Povežite se na poslužitelj putem SSH-a. Prije svega, provjerite je li Docker instaliran i radi li demon:

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 instaliran. Da biste ga instalirali, pokrenite standardnu skriptu (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 # For Debian/Ubuntu # or sudo dnf install docker-compose-plugin # For CentOS/Rocky Linux

Provjerite verziju instaliranog docker composea:

docker compose version

Deployiranje Portainera CE u Dockeru

Postoje dva glavna načina za pokretanje Portainera: putem naredbe docker run (brzi početak) i putem datoteke docker-compose.yml (praktično za verzioniranje konfiguracije).

Metoda 1: Pokretanje putem naredbe 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

Info

Naredba se pokreće putem sudo-a jer trenutni korisnik još nije dodan u grupu docker. Ako planirate kasnije koristiti docker bez sudo-a, dodajte korisnika u grupu docker:

sudo usermod -aG docker $USER

Nakon izvršavanja naredbe, potrebno je odjaviti se i ponovno prijaviti ili ponovno pokrenuti sesiju.

Objašnjenje parametara:

  • -d – Pokrenite spremnik u pozadini.
  • -p 8000:8000 – Usmjeravanje porta za Edge agente i tunele.
  • -p 9443:9443 – Usmjeravanje porta za zaštićeno web sučelje (HTTPS). Portainer automatski generira samopotpisani SSL certifikat.
  • --name portainer – Dodjeljuje smislen naziv spremniku.
  • --restart=always – Pravilo automatskog ponovnog pokretanja kontejnera u slučaju kvara ili ponovnog pokretanja poslužitelja.
  • -v /var/run/docker.sock:/var/run/docker.sock – Montira Docker soket unutar Portainer kontejnera. To omogućuje Portaineru interakciju s Docker demonom i njegovo upravljanje na hostu.
  • -v portainer_data:/data – Stvara nazvan volumen za pohranu Portainer podataka (korisnici, postavke, konfiguracije veza).
  • portainer/portainer-ce:latest – Slika s najnovijom stabilnom verzijom Community Editiona.

Metoda 2: Pokretanje putem docker-compose

Da biste koristili ovu metodu, stvorite direktorij i datoteku docker-compose.yml:

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

Prvo pokretanje i postavljanje web sučelja

Nakon što se kontejner Portainera pokrene, postaje dostupan putem mreže.

Korak 1. Povezivanje na web sučelje

Otvorite preglednik i idite na: https://:9443.

Info

Zbog upotrebe samopotpisanog certifikata, preglednik će prikazati upozorenje. To je normalno pri prvom pokretanju. Morate nastaviti na stranicu (na primjer, kliknite "Prihvati rizik" ili "Nastavi na stranicu").

Zbog upotrebe samopotpisanog certifikata, preglednik će prikazati upozorenje. Morate nastaviti na stranicu.

Korak 2. Kreiranje korisnika

Na stranici za registraciju morat ćete navesti korisničko ime (preporučuje se admin) i postaviti jaku lozinku.

Tip

Lozinka mora biti složena jer omogućuje potpuni pristup upravljanju spremnicima.

Korak 3. Povezivanje okruženja

Nakon stvaranja korisnika, Portainer će vas uputiti da povežete okruženja. U ovoj fazi možete povezati lokalni Docker (koji je već dostupan zahvaljujući montiranom soketu) ili nastaviti s dodavanjem udaljenih okruženja putem gumba "Dodaj okruženja" (Add Environments).

Daljinska okruženja korisna su kada trebate upravljati više poslužitelja s jedinstvenog Portainer sučelja: na primjer, dodavanjem Docker hostova u različitim podatkovnim centrima ili poslužiteljima 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 otkriti lokalni Docker soket. Bit će prikazan kao "lokalni".
  • Kliknite na njega kako biste dovršili postavljanje.

Postavljanje je dovršeno. Otvorit će se nadzorna ploča Portainera (glavni zaslon) s kratkim statistikama o spremnicima, slikama, volumenima i mrežama.

Glavne značajke Portainera

Pogledajmo glavne odjeljke sučelja koji se koriste za svakodnevne administrativne zadatke.

Nadzorna ploča

Početni zaslon koji prikazuje cjelokupnu sliku: broj pokrenutih i zaustavljenih kontejnera, broj preuzetih slika. Omogućuje brzu procjenu stanja poslužitelja.

Kontejneri

  • Središnji odjeljak za upravljanje. Prikazuje popis svih kontejnera.
  • Upravljanje spremnicima: Pokreni, zaustavi, ponovno pokreni, izbriši spremnik jednim klikom.
  • Zapisnici: kartica "Zapisnici" omogućuje pregled zapisnika spremnika u stvarnom vremenu.
  • Inspekcija: Prikazuje potpune informacije o spremniku u JSON formatu: varijable okruženja, točke montiranja, mrežne postavke.
  • Statistike: Grafički prikaz potrošnje CPU-a, memorije i mreže za svaki spremnik. Pomaže u određivanju potrošnje resursa pojedinih usluga.
  • Konzola za izvršavanje: Mogućnost otvaranja web terminala unutar kontejnera za izvršavanje naredbi.

Stackovi

Implementacija Docker Composea u web sučelju. Omogućuje učitavanje ili izradu YAML datoteka izravno putem preglednika za postavljanje aplikacija s više kontejnera.

Slike

  • Upravljanje Docker slikama.
  • Pull: Mogućnost preuzimanja slika (npr. nginx:latest ili mysql:8.0) izravno iz sučelja.
  • Ukloni: Čišćenje neiskorištenih slika za oslobađanje prostora na disku.

Volumeni

Upravljanje trajnim volumenima podataka. Prikazuje postojeće volume, njihovo povezivanje s kontejnerima i prostor koji zauzimaju. Izuzetno važno za baze podataka i korisničke podatke.

Mreže

Omogućuje stvaranje izoliranih mreža za interakciju s kontejnerima.

Povrat promjena (uklanjanje Portainera)

Ako trebate potpuno ukloniti Portainer i njegove podatke sa poslužitelja, slijedite ove korake:

1. Zaustavite i uklonite spremnik Portainer:

sudo docker stop portainer sudo docker rm portainer

2. Uklonite volumen podataka Portainera (upozorenje: ova je radnja nepovratna):

sudo docker volume rm portainer_data

Danger

Brisanje volumena portainer_data dovest će do nepovratnog gubitka svih korisnika, postavki i konfiguracija Portainera.

3. Uklonite Portainer sliku (po želji):

sudo docker rmi portainer/portainer-ce:latest

Sigurnost i preporuke

Za produkcijsko okruženje potrebna je dodatna sigurnosna konfiguracija Portainera.

Korištenje obrnutog posrednika (Nginx/Apache)

Preporučuje se postaviti poddomenu (npr. portainer.domain.com) i proxy promet putem Nginxa. To će osigurati:

  • Korištenje važećeg SSL certifikata (besplatnog od Let's Encrypt ili plaćenog SSL-a, npr. od Sectiga).
  • Centralizirano evidentiranje pristupa.
  • Mogućnost konfiguriranja dodatne autentifikacije.

1. Instalacija i konfiguracija Nginxa

Instalirajte Nginx:

sudo apt install -y nginx # For Debian/Ubuntu # or sudo dnf install -y nginx # For CentOS/Rocky Linux

Kreirajte konfiguracijsku datoteku za Portainer:

sudo nano /etc/nginx/sites-available/portainer.conf

Dodajte sljedeću konfiguraciju, zamijenite svojom domenom koja upućuje na IP poslužitelja:

server { listen 80; server_name <YOUR_DOMAIN>; 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; # Timeouts for long operations 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 konfiguraciju Nginxa:

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

Pribavite SSL certifikat:

sudo certbot --nginx -d <your_domain></your_domain>

Zamijenite svojom domenom.

Tijekom instalacije unesite svoju e-poštu, na primjer, admin@, a zatim dvaput pritisnite Y.

Provjerite automatsko obnavljanje certifikata:

sudo systemctl list-timers | grep certbot

Konfiguracija vatrozida

Izravan pristup portovima Portainera treba ograničiti. Dozvolite pristup portovima 8000 i 9443 samo s pouzdanih IP adresa.

Danger

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 podmreža pouzdanih IP adresa.

Redovita ažuriranja

Preporučuje se pratiti objavu novih verzija Portainera i pravovremeno ažurirati spremnik kako bi se uklonile potencijalne ranjivosti.

Provjera rada

Da biste provjerili radi li Portainer ispravno, izvršite sljedeće korake.

  1. Vizualna provjera: U odjeljku "Containers" provjerite da kontejner portainer ima status "running".
  2. Izrada testnog kontejnera:
    • Idite u odjeljak "Containers", kliknite gumb "Add container".
    • U polje "Name" unesite test-nginx.
    • U polju "Image" navedite nginx:alpine.
    • U odjeljku "Mapiranje priključaka" navedite host-priključak 8080 i kontejnerski priključak 80.
    • Kliknite "Deploy the container".
  3. Provjera pristupačnosti:
    • Pričekajte da se spremnik pojavi na popisu sa statusom 'trči'.
    • Otvorite preglednik i idite na http://<VAŠA_IP_ADRESA>:8080. Trebala bi se prikazati Nginx početna stranica.
  4. Provjera upravljanja:
    • U Portaineru pronađite spremnik test-nginx i kliknite gumb "Stop".
    • Osvježite Nginx stranicu u pregledniku – pristup bi trebao biti nedostupan.
    • Kliknite "Start" – pristup stranici bi trebao biti ponovno uspostavljen.

Rješavanje problema

Problem 1: Ne može se otvoriti Portainer web sučelje na https://:9443

Mogući uzrok: Vatrozid blokira port 9443.
Rješenje: Provjerite pravila vatrozida i uvjerite se da je port otvoren. Za UFW: sudo ufw status | grep 9443.

Problem 2: Greška "Ne može se povezati s Docker demonom" pri izvođenju Docker naredbi.

Mogući uzrok: Docker demoni ne radi ili korisnik nema dozvole.
Rješenje: Pokrenite demon: sudo systemctl start docker. Ako ste dodali korisnika u grupu docker, odjavite se i ponovno se prijavite.

Problem 3: Kontejner Portainer se ne pokreće i odmah izlazi (status exited).

Mogući uzrok: sukob portova ili oštećena slika.
Rješenje: Provjerite je li port 9443 zauzet drugom aplikacijom: sudo ss -tulpn | grep 9443. Pokušajte dodijeliti drugi port i ponovno pokrenuti spremnik: sudo docker restart portainer.

Zaključak

Portainer CE pruža učinkovit alat za vizualno nadgledanje i upravljanje Docker spremnicima. Mogućnost brzog procjenjivanja statusa spremnika, analize grafikona potrošnje resursa i izvođenja uobičajenih operacija bez povezivanja putem SSH-a smanjuje vrijeme odgovora na incidente i pojednostavljuje svakodnevnu administraciju.

Ovaj alat može biti koristan kada je potrebno omogućiti ograničen pristup upravljanju kontejnerima programerima ili manje iskusnom osoblju, a da im se ne odobri izravan pristup naredbenom retku poslužitelja. Portainer CE standardno je rješenje za vizualizaciju infrastrukture kontejnera i preporučuje se za upotrebu na poslužiteljima.

---

Verzija dokumenta: 1 .1
Zadnje ažuriranje: ožujak 2026.
Vlasnik: Tim zatehničku dokumentaciju

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA