Namestitev Portainer CE v Dockerju za upravljanje kontejnerjev
Raven: začetniki
Čas za izvedbo: ~30 minut
Cilj: Po zaključku tega vodnika boste imeli popolnoma konfiguriran nadzorni panel Portainer CE, zavarovan s protokolom HTTPS in pripravljen za upravljanje infrastrukture Docker na vašem strežniku. Po zaključku tega vodnika boste imeli popolnoma konfiguriran nadzorni panel Portainer CE, zavarovan s protokolom HTTPS in pripravljen za upravljanje infrastrukture Docker na vašem strežniku.
Uvod
Kontejnerizacija na podlagi Dockerja je postala standard za strežniško infrastrukturo, saj zagotavlja predvidljivo uvajanje in učinkovito prilagajanje storitev. Vendar pa je pri izvajanju več deset kontejnerjev njihovo upravljanje izključno prek ukazne vrstice postalo nepraktično. Portainer CE rešuje ta problem z uporabniku prijaznim spletnim vmesnikom za upravljanje Dockerja: omogoča dostop do vseh kontejnerjev, njihovih stanj, dnevnikov in virov, upravljanje pa se izvede z le nekaj kliki, ne da bi izgubili nadzor nad sistemom.
Priprava strežnika
Pred namestitvijo je treba zagotoviti, da je strežnik pripravljen za namestitev Portainerja. Portainer sam deluje kot kontejner, zato je treba namestiti le Docker.
Sistemske zahteve:
- Operacijski sistem: katerakoli distribucija Linuxa (Ubuntu 20.04+, Debian 11+, CentOS/Rocky Linux 8+), ki se uporablja za gostovanje.
- Privilegiji: dostop kot root ali možnost izvajanja ukazov prek sudo.
- Zahteve glede strojne opreme: najmanj 1 GB RAM-a in 10 GB prostega prostora na disku.
- Zahteve glede omrežja: Odprta vrata 8000 in 9443 za dostop do Portainerja, vrata 443 za konfiguracijo povratnega proxyja.
Preverjanje razpoložljivosti Dockerja
Povežite se s strežnikom prek SSH. Najprej preverite, ali je Docker nameščen in ali demon teče:
docker --version sudo systemctl status docker
Če se prikaže različica Dockerja in je stanje aktivno (teče), lahko preskočite korak namestitve Dockerja.
Namestitev Dockerja (če je potrebno)
Na novih strežnikih Docker običajno ni nameščen. Za namestitev zaženite 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 namestitev vtičnika Docker Compose (če ni bil nameščen v prejšnjem koraku) zaženite:
sudo apt-get install docker-compose-plugin # For Debian/Ubuntu # or sudo dnf install docker-compose-plugin # For CentOS/Rocky Linux
Preverite različico nameščenega Docker Compose:
docker compose version
Namestitev Portainer CE v Dockerju
Obstajata dva glavna načina za zagon Portainerja: prek ukaza `docker run` (hiter zagon) in prek datoteke `docker-compose.yml` (primerno za upravljanje različic konfiguracije).
Metoda 1: Zagon prek »docker run«
Na strežniku izvedite naslednji ukaz:
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
Ukaz se izvede prek sudo, ker trenutni uporabnik še ni bil dodan v skupino docker. Če nameravate kasneje uporabljati Docker brez sudo, dodajte uporabnika v skupino docker:
sudo usermod -aG docker $USER
Po izvedbi ukaza se morate odjaviti in ponovno prijaviti ali ponovno zagnati sejo.
Pojasnilo parametrov:
- -d – Kontejner se izvaja v ozadju.
- -p 8000:8000 – Preusmeritev vrat za Edge agente in tunele.
- -p 9443:9443 – Preusmeritev vrat za zavarovani spletni vmesnik (HTTPS). Portainer samodejno ustvari samopodpisani SSL-certifikat.
- --name portainer – Kontejnerju dodeli pomenljivo ime.
- --restart=always – Politika samodejnega ponovnega zagona kontejnerja v primeru napak ali ponovnega zagona strežnika.
- -v /var/run/docker.sock:/var/run/docker.sock – Priključi Dockerjev vtičnik znotraj kontejnerja Portainer. To omogoča Portainerju, da komunicira z Dockerjevim demonom na gostitelju in ga upravlja.
- -v portainer_data:/data – Ustvari poimenovani volumen za shranjevanje podatkov Portainerja (uporabniki, nastavitve, konfiguracije povezav).
- portainer/portainer-ce:latest – Slika z najnovejšo stabilno različico Community Edition.
Metoda 2: Zagon prek docker-compose
Če želite uporabiti to metodo, ustvarite mapo in datoteko docker-compose.yml:
mkdir ~/portainer-docker cd ~/portainer-docker nano docker-compose.yml
Vnesite naslednjo vsebino:
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:
Shranite datoteko in izvedite ukaz:
docker compose up -d
Prvi zagon in nastavitev spletnega vmesnika
Ko se kontejner Portainer zažene, je dostopen prek omrežja.
Korak 1. Povezava s spletnim vmesnikom
Odprite brskalnik in obiščite:
Zaradi uporabe samopodpisanega certifikata bo brskalnik prikazal opozorilo. To je ob prvem zagonu normalno. Nadaljujte na spletno stran (na primer s klikom na »Sprejmi tveganje« ali »Nadaljuj na spletno stran«).
Zaradi uporabe samopodpisanega certifikata bo brskalnik prikazal opozorilo. Morate nadaljevati na stran.

Korak 2. Ustvarjanje uporabnika
Na strani za registracijo morate navesti uporabniško ime (priporočljivo je »admin«) in nastaviti močno geslo.
Geslo mora biti zapleteno, saj omogoča popoln dostop do upravljanja kontejnerjev.
Korak 3. Povezovanje okolja
Po ustvarjanju uporabnika vas bo Portainer pozval, da povežete okolja. V tej fazi lahko povežete lokalni Docker (ki je že na voljo zahvaljujoč priključenemu vtičniku) ali pa nadaljujete z dodajanjem oddaljenih okolij prek gumba »Dodaj okolja«.
Oddaljena okolja so koristna, kadar morate upravljati več strežnikov iz enega samega vmesnika Portainer: na primer pri dodajanju gostiteljev Docker v različnih podatkovnih centrih ali strežnikov s Kubernetesom. Povezava se vzpostavi prek agentov Portainer ali prek API z uporabo TLS-potrdil.
- Izberite možnost »Začni«. To je osnovni scenarij za en strežnik.
- Portainer bo samodejno zaznal lokalno Dockerjevo vtičnico. Prikazana bo kot »local«.
- Kliknite nanj, da zaključite nastavitev.


Nastavitev je končana. Odprl se bo nadzorni panel Portainerja (glavni zaslon) s kratkimi statističnimi podatki o kontejnerjih, slikah, prostorninah in omrežjih.

Glavne značilnosti Portainerja
Oglejmo si glavne dele vmesnika, ki se uporabljajo za vsakodnevne administrativne naloge.
Nadzorna plošča
Začetni zaslon, ki prikazuje celotno sliko: število zagnanih in ustavljenih kontejnerjev ter število prenesenih slik. Omogoča vam hitro oceno stanja strežnika.
Kontejnerji
- Osrednji del za upravljanje. Prikazuje seznam vseh kontejnerjev.
- Upravljanje kontejnerjev: z enim klikom lahko kontejner zaženete, ustavite, ponovno zaženete ali izbrišete.
- Dnevniki: Zavihek »Dnevniki« omogoča dostop do pregleda dnevnikov kontejnerjev v realnem času.
- Pregled: Prikaže popolne informacije o kontejnerju v formatu JSON: spremenljivke okolja, točke priključitve, omrežne nastavitve.
- Statistika: Grafični prikazi porabe procesorja, pomnilnika in omrežja za vsak kontejner. Pomaga pri ugotavljanju porabe virov po posameznih storitvah.
- Izvedbena konzola: možnost odpiranja spletnega terminala znotraj kontejnerja za izvajanje ukazov.
Stacks
Implementacija Docker Compose v spletnem vmesniku. Omogoča nalaganje ali ustvarjanje datotek YAML neposredno prek brskalnika za razvrščanje aplikacij z več kontejnerji.
Slike
- Upravljanje Dockerjevih slik.
- Pull: Možnost prenosa slik (npr. nginx:latest ali mysql:8.0) neposredno iz vmesnika.
- Remove: Čiščenje neuporabljanih slik za sprostitev prostora na disku.
Volumi
Upravljanje trajnih podatkovnih volumnov. Prikazuje obstoječe volumne, njihovo povezavo s kontejnerji in prostor, ki ga zasedajo. Izredno pomembno za baze podatkov in uporabniške podatke.
Omrežja
Omogoča ustvarjanje izoliranih omrežij za interakcijo med kontejnerji.
Povrnitev sprememb (odstranitev Portainerja)
Če morate Portainer in njegove podatke popolnoma odstraniti s strežnika, sledite tem korakom:
1. Zaustavite in odstranite kontejner Portainer:
sudo docker stop portainer sudo docker rm portainer
2. Odstranite podatkovni volumen Portainerja (opozorilo: ta dejanja ni mogoče razveljaviti):
sudo docker volume rm portainer_data
Izbris volumna portainer_data bo povzročil nepovratno izgubo vseh uporabnikov, nastavitev in konfiguracij Portainerja.
3. Odstranite sliko Portainerja (neobvezno):
sudo docker rmi portainer/portainer-ce:latest
Varnost in priporočila
Za produkcijsko okolje je potrebna dodatna varnostna konfiguracija Portainerja.
Uporaba povratnega proxyja (Nginx/Apache)
Priporočljivo je nastaviti poddomeno (npr. portainer.domain.com) in promet usmerjati prek Nginx. To bo zagotovilo:
- Uporabo veljavnega SSL-potrdila (brezplačnega od Let's Encrypt ali plačljivega SSL, npr. od Sectigo).
- Centralizirano beleženje dostopa.
- Možnost konfiguracije dodatnega avtentificiranja.
1. Namestitev in konfiguracija Nginx
Namestite Nginx:
sudo apt install -y nginx # For Debian/Ubuntu # or sudo dnf install -y nginx # For CentOS/Rocky Linux
Ustvarite konfiguracijsko datoteko za Portainer:
sudo nano /etc/nginx/sites-available/portainer.conf
Dodajte naslednjo konfiguracijo in nadomestite
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 konfiguracijo:
sudo ln -s /etc/nginx/sites-available/portainer.conf /etc/nginx/sites-enabled/
Preverite konfiguracijo Nginx:
sudo nginx -t
Če je preverjanje uspešno, ponovno zaženite Nginx:
sudo systemctl restart nginx
2. Nastavitev HTTPS (priporočeno)
Namestite Certbot:
sudo apt install -y certbot python3-certbot-nginx
Pridobite SSL-potrdilo:
sudo certbot --nginx -d <your_domain></your_domain>
Zamenjajte
Med namestitvijo vnesite svoj e-poštni naslov, na primer admin@
Preverite samodejno podaljšanje certifikata:
sudo systemctl list-timers | grep certbot
Konfiguracija požarnega zidu
Neposreden dostop do vrat Portainerja mora biti omejen. Dostop do vrat 8000 in 9443 dovolite le z zaupanja vrednih IP-naslovov.
Bodite previdni pri pravilih požarnega zidu. Nepravilna konfiguracija lahko blokira vaš dostop do strežnika.
Primer za UFW:
sudo ufw allow from 192.168.1.0/24 to any port 9443 proto tcp sudo ufw deny 9443
Kjer je 192.168.1.0/24 podomrežje zaupanja vrednih IP-naslovov.
Redne posodobitve
Priporočljivo je spremljati izdajo novih različic Portainerja in pravočasno posodobiti kontejner, da se odpravijo morebitne ranljivosti.
Preverjanje delovanja
Da preverite, ali Portainer deluje pravilno, izvedite naslednje korake.
- Vizualni pregled: V razdelku »Containers« se prepričajte, da je kontejner Portainer v stanju »running«.
- Ustvarjanje testnega kontejnerja:
- Pojdite v razdelek »Containers« in kliknite gumb »Add container«.
- V polju »Ime« vnesite test-nginx.
- V polju »Slika« vnesite »nginx:alpine«.
- V razdelku »Port mapping« (Preslikava vrat) vnesite gostiteljsko vrata 8080 in vrata kontejnerja 80.
- Kliknite »Deploy the container«.
- Preverjanje dostopnosti:
- Počakajte, da se kontejner prikaže na seznamu s statusom »teče«.
- Odprite brskalnik in vnesite naslov http://<VAŠ_IP_NASLOV>:8080. Prikazala se bo uvodna stran Nginx.
- Preverjanje upravljanja:
- V Portainerju poiščite kontejner test-nginx in kliknite gumb »Stop«.
- Osvežite stran Nginx v brskalniku – dostop naj bi bil onemogočen.
- Kliknite »Start« – dostop do strani bi moral biti ponovno vzpostavljen.
Odpravljanje težav
Težava 1: Spletnega vmesnika Portainer na naslovu https://:9443 ni mogoče odpreti
Možni vzrok: Požarni zid blokira vrata 9443.
Rešitev: Preverite pravila požarnega zidu in se prepričajte, da je vrata odprta. Za UFW: sudo ufw status | grep 9443.
Težava 2: Napaka »Ne morem vzpostaviti povezave z Dockerjevim demonom« pri izvajanju ukazov Dockerja.
Možni vzrok: Dockerjev demon ne teče ali pa uporabnik nima ustreznih dovoljenj.
Rešitev: Zaženite demon: sudo systemctl start docker. Če ste uporabnika dodali v skupino docker, se odjavite in ponovno prijavite.
Težava 3: Kontejner Portainer se ne zažene in se takoj zapre (stanje »exited«).
Možni vzrok: Konflikt vrat ali poškodovana slika.
Rešitev: Preverite, ali je vrata 9443 zasedena s katero drugo aplikacijo: sudo ss -tulpn | grep 9443. Poskusite vrata ponovno dodeliti in ponovno zagnati kontejner: sudo docker restart portainer.
Zaključek
Portainer CE ponuja učinkovito orodje za vizualno spremljanje in upravljanje Dockerjevih kontejnerjev. Zmožnost hitre ocene stanja kontejnerjev, analize grafikonov porabe virov in izvajanja tipičnih operacij brez povezave prek SSH skrajša odzivni čas ob incidentih in poenostavi vsakodnevno upravljanje.
To orodje je lahko koristno, kadar je treba razvijalcem ali manj izkušenemu osebju omogočiti omejen dostop do upravljanja kontejnerjev, ne da bi jim dodelili neposreden dostop do ukazne vrstice strežnika. Portainer CE je standardna rešitev za vizualizacijo infrastrukture kontejnerjev in se priporoča za uporabo na strežnikih.
---
Različica dokumenta: 1 .1
Zadnja posodobitev: marec 2026
Lastnik: Ekipa zatehnično dokumentacijo