2021. május 13., csütörtök

Gyorskeresés

Portainer alapok

Írta: |

[ ÚJ BEJEGYZÉS ]

Általánosságban szeretnék pár szót írni, mielőtt bárki bármibe is belekezdene.
Én is kezdő vagyok, de aki angol/német nyelven nem értené meg a dolgokat, azoknak segítség lehet.

Portainer hivatalos oldal: https://www.portainer.io/

Portainer egy konténer menedzselő alkalmazás, mely az általunk használt konténerek adatait, folyamatait, logjait mutatja és monitorozza azokat.

Portainer elérést az alábbi felületen érhetjük el, ha már telepítve van: http://NASIP:9000

Ezek után a megvagyunk az első lépés a jelszó páros létrehozása.
Célszerű, de nem kötelező a felhasználónév legyen admin, jelszó pedig egy erősebb jelszó mely kis, nagybetű és speciális karakter is lehet.

Ezek után ha megvagyunk akkor az alábbi felület fogad: Itt választ a local-t, majd men ja Continue-ra.

Ezek után első nekifutásra ilyesmi kép fogad, de nekem már pár telepített konténerem van 😊

Legfontosabb menüpontok:
- Dashboard:Összefoglaló a konténerekről és adatiakról.
- Stack: lefuttatott elemek/stack-ek találhatóak benne, melyeket szerkeszhetjünk/törölhetünk.
- Containers: Általunk futtatott konténerek láthatóak.
- Images: Itt a dockerben használt alkalmazásainkhoz használt konténerek vannak.
Ha nem használunk, akkor törölhetjük őket, újraindíthatjuk, leállíthatjuk, stb...
Épp ahsznált konténerek neve mellett a ,,running" vagy "healthy" zöld felirat található.
- Network: A rendszerben használt hálózatokat mutatja.
- Images: A rendszerben használt programjaihoz található imagek találhatóak, melyeket dockerhubról leszedtünk (vagy épp máshonnan pl.: linuxserver.io-ról.
Nem használt elemeket sárgával jelzi a rendszer. ("unused").
Ez azt jelenti, hogy a konténert jelenleg nem használjuk, ha szeretnénk törölhetjük.

Lásd a képen:

A legfontosabb menüpontunk Stacks lesz, mivel itt elég gyorsan tudunk újabb konténereket hozzáadni a meglévőinkhez, illetve szerkeszteni is, a szükségteleneket pedig törölni.

Elsősorban tisztázzuk, hogy a konténerek futtatására több lépés van

1. Stack-ként futtatni : bemásolni a szükséges paramétereket és futtatni.
Ebben az esetben Github vagy Dockerhub-ra feltöltött komplett szövegrészt kell bemásolni és pár paramétert átírni.
Amit ide bemásolsz mindig version: X.X-el fog kezdődni pl.: version: "2.1"

2. docker-compose fájlból futtatni : egy docker-compose.yml-t készíteni és lefuttani a megadott paranccsal(erre később kitérek)

3. docker run parancsal futtani: ezt elég kevésszer használom, mert az első 2 verzióval sokkal gyorsabb :DDD

docker-compose fájl futtatás hátránya, hogy a Portainer-ben igaz megjelenik a Containers és a Stack menüpontban a konténerünk (halványan), de csak a Conrainer menüben tudjuk majd szerkeszteni (Edit/Duplicate) . Erről majd később beszélek.

Nézzünk egy példát:

Dockerhub : Linuxserver : Transmission

Keressük meg a docker compose részt és másoljuk be az alábbi helyre:

Stacks => Add stack => Web editor (ez az alapértelmezett nézet) => ide illesszük be:

Névnek adjuk meg hogy transmission majd az alábbit látjuk:

Akkor egy kis magyarázat: (példafájl: Transmission)

PUID és PGID: Ide 2 számot kell megadnotok, melynek nevében futtatjátok a konténert, tehát egy felhasználót jelent valójában. Itt fontos megjegyeznem, hogy a felhasználónak, akinek megadtátok a PUID,PGID számait legyen joga ahhoz a mappához melyben konfiguráljátok.
Hol tudom lecsekkolni, hogy mi a PUID s PGID?
SSH-n beléptek a NAS-ra, majd kiadjátok azt a parancsot hogy: id admin vagy id sajatfelhasznaloneved
admin esetén ez 998 | 100 más felhasználó esetén 1000 | 100 is lehet.
Ha több felhasználód van ez az érték változni fog.

TZ: Timezone, ez bármi lehet, de célszerű megadni azt alábbit (Europe/Budapest)

Username és password : ezt töltsétek ki mindenképp, ha netre kiengeditek. Jelen esetben ehhez a konténerhez tartozik ilyen paraméter, viszont nem minden esetben kell megadnotok.

Volumes: ide adjuk meg a konténernek hova mentes az adatokat.Ebben az esetben az látható, hogy 3 mappára lesz szükségetek. Későbbiekben majd félkövérrel kiemelem mit írjatok ide.
- path to data:/config
- path to downloads:/downloads
- path to watch folder:/watch

Ports: Itt találhatóak azok a portok, melyeket a rendszer használja.Az alábbi címen fogod elérni a transmission-t: http://NASIP:9091
Transmission alapértelmezett portja 9091.
Restart: Ennek értéke, neve alkalmazásonként változik.

Ezek után nincs más, legfelül egy nevet kell megadni, mondjuk tranmission és alul az alábbi gombra rányomni : => Deploy to stack

Honnan tudod , hogy fut a konténer?
Container-s menüpontban, ha zöld ikont látok running vagy healty felirattal akkor fut a konténer.
Ezáltal a transmisison az alábbi ip-n elérhető => http:/NASIP:9091

Illetve nézd meg a Log részét amit itt találsz: Kiemeltem pirossal
Ide kattintasz - igaz képet nem készítettem - de ha bármi jellegű gond van akkor az itteni log jelzi neked.

Nézzünk példát a Tranmission stack alapú és docker-compose futtatására:
Tranmission telepítés az alábbi helyen elérhető: https://hub.docker.com/r/linuxserver/transmission/

1. Stack-es futtatás a Portainer-ben:

Potrainer => Stacks => Add stack
Itt a web-editors (alapértelmezett részbe )másoljátok be az alábbit

version: "2.1"
services:
transmission:
image: linuxserver/transmission
container_name: transmission
environment:
- PUID=1000
- PGID=100
- TZ=Europe/Budapest
- USER=transmissio_felhasznonev
- PASS=erosjelszo
volumes:
- /srv/dev-disk-by-label-WDP6TB/Docker/Transmission/config:/config
- /srv/dev-disk-by-label-WDP6TB/Torrent:/downloads
- /srv/dev-disk-by-label-WDP6TB/Docker/Transmission/watch:/watch
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp
restart: unless-stopped

FONTOS megjegyezni:
- Itt azokat a paramétereket, melyeket kiemeltem neked kell átírnod/javítanod
- PUID és PGID azonosít egy felhasználót, akivel futtatod a konténert. Ezért mindenféleképpen meg kell nézned, hogy az adott mappához, van e joga a felhasználónak, akit a PUID és PGID azonosít.
- volumes alatt lévő mappádinak mindig létezni kell és a megfelelő jogosultságoknak kell beállítva lennie.

Én SSH-n szoktam megnézni a jogokat, hogy megfelelőek e.
Putty => nasra belépek (root + jelszó)
1. parancs cd /srv/dev-disk-by-label-WDP6TB/Torrent
2. parancs: ls -la
Ezzel kilistázza mely mappához milyen felhasználóknak van jogosultságunk

2. docker-compose fájlos futtatás

Itt az adott Docker/Transmission mappában egy docker-compose.yml fájlt kell létrehoznod. Ezt több módon is csinálhatod, SSH vagy épp Win hálózaton Notepad++-al szerkesztve megteheted, ezt rádbízom.

Nálam ez így nézne ki SSH-m

1. parancs: cd /srv/dev-disk-by-label-WDP6TB/Torrent
2. parancs: nano docker-compose.yml
3. parancs:
- Kimásolod amit a stackhez másoltál egész szöveget
- Belekattintasz a fekete DOS-os felületbe majd Jobb egér klikkel bemásolod
- Menteni a CTRL+X-el tudod, majd Y és Enter
4. parancs: docker-compose up -d

Ezzel a pár soros paranccsal ugyanazt tettük meg, mint a stack esetén.
FONTOS:Egy probléma van, mégpedig az, hogy ha valamit elírtunk a docker-compose fájlban és szerkeszteni szerenténk, azt csak itt tehetjük meg (SSH vagy hálózaton szerkesztve a fájlt), a Portainer/Stacks menüpontban sajnos nem!

FAQ:
Tudom-e szerkeszteni a Potrainer-ben a konténerem adatait, ha hibásan töltöttem ki?
Igen tudod.Erre 2 módod van:
- A konténerre kattintva Portainerben az Edit/Duplicate menüpont alatt tudod szerkeszteni egyesével
- Ha Stacks-ként futtattad, akkor a Stacks menübben a konténer nevére kattintva az Edit-nél tudsz több dolgot egyszerre változtatni

Tudom-e a szerkeszteni a docker-compose fájlként futtatott konténerem?
A konténer nevére kattintva egysével tudod szerkeszteni a paramétereket, viszont ha több változtatásod van akkor a docker-compose fájlt újra kell nyitni, szerkeszteni majd futatni (docker-compose up -d)

Tudom a törölni a felesleges konténereket?
Container menüpontban a törlésre(delete) kell kattintantva tudjuk törölni a könténert.Ha a felugró ablakon (Automatically non-presistent .,,) a csúszkát jobbra elhúzzuk, akkor stacken kívül az image is törlésere kerül

Tudsz csak konténert törölni?
Igen. Volumen menüben ahol az "unused" szót látod, az azt jelenti,hogy azt a nem használt konténer, ezért kitörölheted.

Bármilyen eszközön tudok portainer-t futtatni?
Igen, akár rpi (Raspberry PI), akár x86 (asztali gép, építet NAS...) akár Amlogic/Rockchip eszközökön is.

Az összes konténer kompatibilis minden eszközzel?
Nem, itt ellenőrizned kell, hogy az adott image milyen eszközön képes futni. pl.: Amlogic boxokra a Linuxserver.io-s imagek csak korlátozott számban érhetőek el és egyéb Dockerhub-os image-k is.
Az x86-64-os architektúrájó eszközök esetében szinte korlátlan konténert tudunk futtatni mivel a legtöbb eszköz melyet használunk ezzel kompatibilis.

Hozzászólások

(#1) kac


kac
csendes tag

Helló, kötözködés nélkül, csak építő jelleggel:

Javítsd a címben, és a szövegben portrainer -> portainer !

Jó lenne, ha tennél bele hivatkozást is: https://www.portainer.io

Már az első mondatban is van elütés, nézd át még egyszer a szöveget, és javítsd a hibákat:
"Általánosságban szeretnék pár szót írok, mielőtt bárki bármibe is bele kezdene."
Általánosságban szeretnék pár szót írni, mielőtt bárki bármibe is belekezdene.

Figyelj a szóismétlésekre!

Üdv, kac

(#2) stigma válasza kac (#1) üzenetére


stigma
addikt

Hi, köszi az észrevételt, javítottam. :R

....Oneplus 8 / Xiaomi Mi Pad 4...

(#3) UberMutant


UberMutant
senior tag

köszi, hasznos cikk.
végre megtudtam, hogy mire való a stack.

További hozzászólások megtekintése...
Copyright © 2000-2021 PROHARDVER Informatikai Kft.