Docker konténerizálás - OS, alkalmazások fórum

üzenetek

hozzászólások


haddent
(addikt)
Blog

Nem találtam Dockerrel foglalkozó topicot, szóval gondoltam nyitok egyet, hátha másnak is hasznos lesz :)

Mi is az a Docker?
Egy konténerizációs forma. Konyhanyelven a fizikai vas (bare-metal) és a teljes virtualizáció (kvm, hyper-v stb.) közt helyezhetnénk el valahol.
Főbb előnyei a szeparáció (egy-egy konténer izoláltan fut a hosthoz és egymáshoz képest) és a gyors, könnyű, kompatibilis disztribúció (konkrétan bármilyen alkalmazást becsomgolsz egy Docker konténerbe, akkor az pontosan ugyanúgy fog futni bármilyen hoszton, bármilyen OS alatt bármilyen verzióval, amennyiben egyetlen előfeltétele, a Dockerd engine teljesül).
Ezen felül természetesen el lehet durvulni vele és stackeket, swarmokat létrehozni, amiket aztán a felhőben (pl. Kubernetes) is futtathatunk, így osztva a terhelést, biztosítva a zero downtime -ot stb., de talán ennyire ne menjünk előre.

Akkor most ez virtualizáció?
Nem. Pl. éppen ezért Linux hoszton nem tudsz Windows konténereket futtatni (nem mintha nagyon lennének vagy szükségesek lennének), illetve éppen ezért nincs grafikus megjelenítés, nem tudsz belépni "remote desktop" -pal a környezetbe (ez nem teljesen igaz, létezik pl. X11 forwarding, de ez eléggé abuse / erőszakolásnak számít és erősen megkérdőjelezi, hogy valóban Docker kell-e a feladat megoldásához)

Teljesítmény
Szóval tisztáztuk, hogy nem virtualizációról beszélünk, tehát akkor nincs overhead. De, van, de linux hosztokon elenyésző. (Szubjektív, nem túl reprezentatív, de érdekes példa: ivy bridge alapú intel pentium G2130 procival és 4GB rammal kb. 20 servicet futtatok a szerveremen, köztük webszerver, torrent, Jellyfin (Emby) média stream, vpn stb., illetve ezek mellett tűzfalként is szolgál a gép, mégis röhögve bírja)
Nehéz százalékosan általánosságban adni egy számot, mivel nyilván alkalmazás- / felhasználásfüggő, de amennyiben bármilyen, nem grafikus alkalmazásunk (bármilyen szerver, kiszolgáló, háttérfolyamat stb..) van, mindenképp érdemes lehet kipróbálni.

Miért?[/B
Nincs is konkrét virtualizáció, még overhead is van, akkor mégis minek? Azért, mert teljes mértékben elszeparálhatjuk alkalmazásainkat. Pl. miért akarnánk, hogy a webszerverünk és a torrent szerverünk egy környezetben fusson? Minek "lássanak át egymásra"? Sőt, minek férjenek hozzá a fizikai vashoz az abszolut szükségesnél jobban?
Ezen felül nem kell bajlódni semmilyen 26 ezer lépéses telepítéssel, nem létezik az inkompatibilitás és a dependencia fogalma, nincs cross-dependency, nem kell milliónyi, a hoszt számára felesleges csomagot karbantartanunk. Egy-egy alkalmazás esetén elég mindig csak az ő saját image -ét frissíteni és máris a legfrissebb, legbiztonságosabb, javított alkalmazás fog futni, ráadásul szeparálva, ami ugyan nem feltétlen teljes mértékben megegyező biztonsági izoláció a teljes virtualizációhoz képest, de közel állhat hozzá.
Személyes véleményem szerint a rendezettség és letisztultság is fontos egy ilyen környezet esetén, hiszen minden logot, mentést/adatot és konfigurációt a mi saját elveink szerint rendezhetünk, 1-1 mappába gyűjtve, nem szétszórva a root / -on. Így nyilván a biztonsági mentés / backup is jóval egyszerűbb.

Témaindítónak talán elég ennyi :P


Cirbolya_sen
(aktív tag)

példák ahol találkozhatunk docker-el:
- NAS rendszerekben
- routerekben
- szerverekben


stigma
(addikt)
Blog

Sziasztok.

Nem lenne rossz ha a topic felpörögne, mert eléggé elterjedt az években a Docker és a hozzá használatos konténerek/image-k vagy nevezzük egyszerűbben programoknak :D (még kezdő vagy benne)

Én OMV (NAS oprendszer) alatt használok Dockert, melyben a saját felhőt hoztam létre DDNS-el persze leírás alapján. Mai napig tökéletesen működik, szerintem elég gyorsan is tölti be a felhőbe lévő adatokat.
Nextcloud-hoz Mariadb+ Nextcloud + Duckdns+letsenrypt-et használok Dockerben.
Ezen ívül amivel próbálkozom, próbálkoztam:

- Amlogic boxok esetében Owncloud/Nextcloud: helyi hálón már működik nekem, HTTPS/SSL kapcsolatot még valahogy varzsolni kellene.
- Roc64-es board-al az alábbiakat teszteltem:
- Armbian-ra sima docker.io-t + docker-compose-t tettem majd Owncloud-ot.
- NextcloudPI-t sikeresen feltettem, futattam., igaz itt kihívás nincs nagyon :DD

Mint látjátok én inkább a felhő fele mentem el(Nextcloud, Owncloud), hogy őket kipróbáljam, mert a mai világban a legegyszerűbb így megosztani.Igaz a Drive tökéletesen működik, viszont oda korlátozott a feltöltési limit, itt viszont max a HDD szab határt. :DDD
Ezenkívül amit jó lenne megtanulni/leírást összeszedni az a Portainer(remélem jól írom) mely Docker konténere könnyebb kezelhetőségére,menedzselésére használható, futtatható.
Sajnos kevés időm ellenére ha bármint sikerül összehoznom és hasznotokra válik, itt meg fogom osztani.


haddent
(addikt)
Blog

Nekem is tervben van / félig-meddig kész egy nagy összefogó cikk úgy mindenről is :R

Hol akadtál el az HTTPS/TLS -sel kapcsolatban? Biztos meg lehet oldani "gyári" Nextcloud stílusban is, de a legegyszerűbb szerintem / nekem az volt, hogy az amúgy is már meglévő nginx reverse proxy mögé bevágtam és kész is

Portainer-t is használok, viszont én kizárólag felügyeletre / log nézegetésre. Sajnos a deploy egyelőre docker-compose 2.0 -t tud max. kezelni én meg 3.2 verziót használok, sokkal rövidebb, implicitebb, meg talán voltak is dolgok amik csak vele jöttek be :B


stigma
(addikt)
Blog

Nextcloud esetén simán megoldottam, mert volt leírásom, illetve ott a szükséges portokat (HTTP:80 és HTTPS:443-at) átengedtem a routeren és probléma nélkül üzemel.

Owncloud esetén ugye alapértelmezetten 8080-as poron átjön ami tök jó, de szerettem volna SSL-t, és amiatt a HTTPS-es 4443-as porton akartam átengedni, de sajnos nem sikerült.

Lehet hogy valamit elcsesztem a leírás alapján, de majd hétvégén megnézem.
Ugye ezért rossz ha több eszközről tesztelek, mert mindenhol port átírányítást kellene alkalmazni, ami a routerben egyszerű de Dockerben nem biztos (mármint a konfigurálásban)

Portrainer-t azért szerentém megtanulni/alkalmazni mert OMV-ben a Dokcker arra fog épülni és így könnyebb lesz a menedzselés, illetve a backup, mert most nincs más csak ha parancssori mókolás ha konténert akarok lementeni és nem újra konfiglni.


Rimuru
(veterán)
Blog

Belosz egy nginx-et, az megoldja a https-t es reverse proxyval mehet a tobbi cucc.


haddent
(addikt)
Blog

Ahogy írta colomb2 is és én is, reverse proxy mögé érdemes rakni mindent. Egyrészt security másrészt https endpoint. Na meg ugye mi van olyankor, ha egyszerre 4-5 http(s) cuccot akarok hosztolni? Elég gány portokat írkálni böngészőbe, sokkal elegánsabb egy (sub)domain. Na meg nem szokás csak úgy kiengedni a dolgokat egyenest.

Backup szerintem rém egyszerű portainer nélkül is. Eleve minden volume -ot bindinggal használok, van egy sajátos szisztémám. A backup így a config+data könyvtárak és a docker-compose.yml, semmi más nem kell. Lényegében GIT -be mentek mindent. A data kicsit eröltetett GIT -be, de egyébként eléggé best practice szerintem.

Személy szerint nem ajánlom, hogy a Portainerre bízd magad. Jó dolog, én is használom, de nem helyettesíti a tudást, szerintem. Mert aztán ha gubanc van úgyis be kell mászni manuálisan :)

OMV alatt mit értesz?

[ Szerkesztve ]


stigma
(addikt)
Blog

(#6)colomb2: :R

Köszi mindkettőtöknek, ebben még nem annyira vagyok profi, de biztos találok vaamit a neten ahonnan össze tudom ollózni.

Hosztolni csak 1 -et akarok csak minidig van valamit amit kitalálok és le akarom tesztelni ezért van az, hogy több portot is át kell irányítanom mert ugye nem lehet egyszerre 2 eszközömnek ugyanugy a 80-as vagy 443-as portot használni.
Ebben az esetben most a NAS-on lévő Nextcloud használja a 80 és 433-as portot, de most egy Rock64-et ha tesztelek dockert és ugyanezeket a Nextcloud appot akkor azt már mondjuk 8080-as vagy 4443-as portokra kell kiengednem.

OMV = Openmediavault.
NAs oprendszer, kis vason is tökéletesen fut. Kb 1 éve ezt használom nagy megelégedésre egy Asrock J4105-ITX lappal és 8GB rammal, melyből kb 4GB is elég lenne... :D


haddent
(addikt)
Blog

Ja értem. Nemtom, sose voltam oda ezekért a csoda disztrokért. Nálam Arch linux a szerver is :DDD Pont itt vannak a stackjeim Portainerben. Nekem ez 1 évig 4gb ramon meg pentiumon futott és bőven maradt még. Most 10gb meg i3, mert találtam itthon de amúgy felesleges neki :Y


stigma
(addikt)
Blog

Néha picit nehézkesen írok, mert még én is tanulom a Docker-t és a hozzá passzoló szavakat, szóval bocs ha valamit máshogy fogalmazom.
Pont erre van szükségem,mert otthon egy NUC-ról megy a filmezés, melyen Libreelec rendszer van telepítve, ahova 1 kattintással Dockert és Portainer-t tudok varázsolni ezáltal már egyszerűbben fel tudom/tudnám tenni.

Portainer-t hétvégén 10 perc erejéig tettem fel, és próbáltam ki, ott még nagyon sok minden ismeretlen számomra, szóval ha lesz időm hétvégén elolvasom a hivatalos oldalon lévő dokumentációt vagy rákeresek youtube videok-ra hogy nyomják a profik :DDD

Illetve a NAS oprendszere-újabb változatában beépítették a Portrainer-t mint Docker konténer kezelőt így ha megtanulom, akkor két legyet ütök egy csapásra :DDD


stigma
(addikt)
Blog

Hi, tudom a "google a barátom", de abban segítetek milyen lépéseket kell tennem?
Tegyük fel hogy felteszem az Owncloud-ot a leírás alapján, itt a többit (HTTP és SSl-t ) Nginx Configuration menüpontban végezzem el?

Bocs a láma kérdésért de ilyesmit még nem csináltam.
A NAS oprendszerben duckdns-t használtam és konfiguráltam, az ARMbian/dietpi nevü redszerekben volt egy letsencrypt parancs melyben a mail cím, DDNS és 1-2 paramétert megadva a certbot mindent megcsinált.


haddent
(addikt)
Blog

Attól függ mit akarsz. Nekem több subdomainem is fut, ezért az nginx tök külön unit a cloudtól és kézzel hoztam létre a certeket majd automatán frissíti őket ha kell.

Ezekben tudok segíteni szívesen, de az Owncloudot egyáltalán nem ismerem, plána az ő ssl kezelési hülyeségeit. (Egyébként nem jobb a Nextcloud?)

Nagyjából így néz ki egy nginx példa (ez így nem fog működni, az enyémet raktam fel, csak kivágtam az irreleváns részeket):

[link]


stigma
(addikt)
Blog

Hali, köszi a példát és a megosztást.
Nextcloud jobb sokkal, csak ezeken az ARM procikon az alap funckiókra valamivel gyorsabban pufferelt az Owncloud, igaz az nem Docker-ben volt hanem kézi telepítéssel.

Többi miatt priviben kereslek. :R


stigma
(addikt)
Blog

Sziasztok, csak hogy egy fantasztikus témával jöjjek Docker Linux-on :DDD
Lehet egyedi kérés lessz és túl "user error" lesz részemről, de az alábiakat szeretném:
Adott egy ARM board eszköz => Amlogic S912-es Box Coreelec-el szerelve.
Erre feltettem a docker-t majd a linuxserver.io-s package-t de az alábbiakat akarom konfigurálni:
- pihole : lehet nem támogatott => github
- owncloud: ez ne támogatott tudtommal: => github
- nextcloud: Ez elvileg létező image => github

Ami érdekelne, hogy portrainer-ben hogy lehet létező image-t github vagy dockerhub-ról lehúzni mert nekem nem sikerült.
Ugye az sem mindegy milyen chipseten vagyok ARM/x86 vagy egyéb más, csak ugye naív vagyok és azt hittem hogy dokerben bármi futni fog :DDD
Ami az egyetlen container az a Nextcloud, melyet a linuxserver/nextcloud esetén megtalálok.

Van ötlet leírás, hogy egy adott docker container-t hogy kell konfigolni portainer-ben?
Hivatalos oldalt párszor átnéztem de nekem elsőre kínai: https://www.portainer.io/

Habár ebbe úgy érzem pár órát bele kell fektetnem :DDD


instantwater
(addikt)

Örülök, hogy lett ilyen topik is, mert kicsit nyugatabbra évek óta használják production környezetben is a Dockert és a Kubernetes is egyre népszerűbb. Én magam is napi szinten püfölöm őket.

Remélem a jövőben lesznek fejlesztői témájú kérdések is, melyekben szívesen segítek, ha tudok.

Aki fejlesztőként dolgozik, nagyon megéri megtanulni a Docker használatát és képfájlok készítésének módját. Egyre inkább alapelvárás lesz ez a tudás, hogy Docker konténer formájában tudd szállítani a kész programot, akár te telepíted kézzel, akár CI/CD rendszerből automatikusan kerül telepítésre valamilyen platformon, ami valószínűleg valamilyen Kubernetes alapú/kompatibilis megoldás lesz.

És persze, ahogy az első hozzászólásban is írta a kolléga, rengeteg fejfájást spórol meg a konténerizáció. Még felsorolni is hosszú lenne. Ezért amikor új munkahelyet keresek, már a fejvadásztól megkérdezem, hogy Dockert használ-e a cég. Ha nem, megy a levesbe. Ennyire ég és föld a vele vagy nélküle telepítés.

Felhasználóként hobbi célra én Syncthinget és OpenVPN-t futtatok egy kis VPSen Dockerben, így olcsón megoldottam a fájlszinkronizációt és a VPNt.

Syncthinggel a Keepass adatbázisomat szinkronizálom a telefon és laptop között. VPS közbeiktatásával gyorsabb, stabilabb, mintha egymást kellene keresniük relay szervereken keresztül.

Az egyszerűség jegyében a host OS Alpine Linux. Ez lehetne bármi más is, de kizárólag konténerek futtatására használom, így a minimalizmusa törekedtem.

[ Szerkesztve ]


haddent
(addikt)
Blog

- Pihole biztosan lesz, az csak egy fancy név egy hosts fájlra :DDD
- owncloud passz, de mivel lényegében egy php alkalmazásról beszélünk egy mariadb -vel, ezért szerintem biztosan megoldható, max saját build
- nextcloud ha van akkor viszont nem értem minek az owncloud? next jobb, szerintem

Portainerben a containers lapon tudsz lehúzni és deployolni, de neked is azt javaslom, mint előzőleg, hogy ne portainerrel kezdj, ha az alapok nem feltétlen vannak meg


haddent
(addikt)
Blog

A jelszó kezelés elég bonyolult nálad, Bitwardent nézted már? Főleg a Bitwarden-rs implementációt rust nyelven, nálam hibátlan. Be tudod importálni a keepassod.

Nálunk hallani se nagyon hallottak a Dockerről, de egyből megtetszett nekik, hogy pár óra alatt migrálok bármit bárhonnan bárhova bármilyen verzióban. Nem gond, hogy 4 éve elavult és érintetlen szarokat kell újrahúzni új szerverre, majd upgradelni. Nem kérdés, hogy ez a jövő és már rég itt van (kéne lennie), csak hát rengetegen le vannak ragadva.
Én is az ELTE -n tanultam, papíron, formális matematikai nyelven papíron ciklust meg programkódot írni és C/C++ -ban mindent, de nem vagyok a magam ellensége :DDD


I02S3F
(őstag)
Blog

Feliratkozás, hogy visszataláljak!


instantwater
(addikt)

Bitwarden felhős fiókot kér.
Köszönöm, így tudom, hogy hogyan és hol van az adatbázisom, nem pedig egy nagy közös adatbázisban kitudja milyen titkosítással.

Ez a baj, hogy hallani sem hallottak róla :(
Nyugatabbra azért jobb a helyzet.

Mikor fogja az ELTE ismerni legalább azt a szót, hogy konténerizáció, és hálózatok?

Amikor én jártam az IK-ra néhány éve, még mindig a "szekvenciális inputfájlból" című feladatok voltak különféle módon.

Köszönöm, a főnököm többet fizet, ha gyors a szerver, mintha jól tudok text fájlból maximumot keresni.


haddent
(addikt)
Blog

Nem tudom hány néhány én 2013 -ban kezdtem, ne aggódj akkor is az ment bőven.. B szakirány, prog.mód meg analízis :DDD Nem baj ez, az alapok kellenek, adott egy látásmódot meg olyan alaptudást amivel ezek meg minden újdonság könnyen tanulható, csak mondjuk legalább a C szakirányon (vagy csinálnának egy "D" -t) ami tényleg az, hogy 3 év után használható, modern szakember legyen, ne egy elmaradt valami..

Van self-hosted bitwarden, közösbe nyilván nem tolnék én se semmit ;]

[ Szerkesztve ]

üzenetek