A Docker hálózatkezelése

hálózati kábel kép pixabay.com-ról

Alap szinten nem sokat kell tudni arról, hogy milyen hálózattípusok vannak a Docker konténerek esetén. Rá lehet bízni a Dockerre, hogy hozza létre, ami szükséges, hiszen neked az eredmény kell, nem az oda vezető út. Mégis érdemes kicsit elmélyedni benne, mivel több olyan kérdésre választ adhatnak, amire nem is gondolnád, hogy kíváncsi vagy. Még nem... Olyan szituációkra gondolok, hogy miért ilyen IP-t kapott a konténer, miért nem látod az IP címét, miért nem éred el úgy, mint máskor és mi az ördög az az ingress vagy overlay és miért volt baj, hogy letörölted. Ahogy próbáltam megérteni a hálózatok működését, magam is úgy jöttem rá, hogy eddig tévedésben éltem. Úgy gondolom, hogy most már tisztábban látok, és ezt fogom összegezni a következőkben.

Megosztás/Mentés

Apache HTTPD és statikus tartalmak Dockerrel

http kép pixabay.com-ról

Amióta a témával foglalkozom, hallottam olyan véleményt, hogy a Docker csak fejlesztésre jó, élesben nem. De olyat is, hogy élesben jó, de fejlesztésre alkalmatlan. Az igazság az, hogy mindkettőre jó, de egy sor olyan dolog van, amit másképp kell csinálni. Az is igaz, hogy karddal sem kenünk kenyeret és papírvágó késsel sem vágunk fát, tehát észben kell tartani a célt és ki kell választani a legjobb eszközt. Általánosan viszont nem jelenthető ki az alkalmatlanság. Ha valaki komolyabb webfejlesztéshez szeretné használni a Dockert, előbb tisztában kell lennie a működésével, az alapjaival, és azt is el kell fogadnia, hogy a komolyabb munkákra felkészüléshez talán sokat kell dolgoznia. Egy összetettebb webalkalmazás akár több konténerből is állhat, de most az Apache HTTPD konténerrel való munkát fogom bemutatni egyszerűbb, szerveroldali szkriptet és adatbázist nem igénylő statikus oldalakkal, kliensoldali alkalmazásokkal és azok jelszóval védésével.

Megosztás/Mentés

A Docker telepítése Ubuntu 16.04-re Vagrant segítségével

Vagrant Logó

Különböző operációs rendszereken különböző módon telepíthető a Docker és némelyik esetben valójában egy virtuális gép indul el a háttérben, amire a Docker démon kerül, miközben a gazda operációs rendszeren van a kliens. A telepítésről a dokumentációban részletes leírás található, de fejlesztés közben a legegyszerűbb, amikor a saját desktop Linuxodon telepíted és megúszod a virtuális gépek okozta hálózati és a fájlszinkronizációs problémákat. Ha viszont Windowson futtatsz Linux konténert, elkerülhetetlen a virtuális gép. Megfelelő erőforrás esetén egy virtuális desktop Linux telepítése is megoldás lehet, de hogy egy másik hasznos szoftvert is bemutassak, ami ráadásul hasonlít a Dockerhez bizonyos szempontból, a Vagrantot fogom segítségül hívni, hogy leírjam a Docker telepítését. A gépet előre elkészítettem és elérhetővé tettem a Vagrant Cloud‑on. Az elkészítéséhez szükséges forráskódot pedig a GitHub-on. A cikkben ismertetem a Vagrant fontosabb tulajdonságait, hibalehetőségeket és a desktop Ubuntu 16.04-ben, Vagranttal telepített, Dockert tartalmazó gép telepítésének menetét.

Megjegyzés: Ubuntu 16.04 felhasználók a Vagrant telepítését és a virtuális gép használatát akár ki is hagyhatják.

Megosztás/Mentés

A Docker és a tripla M. Miből mennyit és miért

Puzzle kép pixabay.com-ról

A Docker újoncai között gyakran nem egészen tiszta, hogy függ össze a futtatandó alkalmazás, akár webes szolgáltatás és a működését biztosító webszerver, illetve az ahhoz szükséges komponensek, mint például a PHP értelmező. Hol találkoznak egymással és milyen szoros kapcsolat van közöttük. Az a gondolkodásmód már nem működik, hogy összeállítasz egy vagy több webszervert és szépen egymás mellé sorakoztatod a weboldalakat virtuális hosztok segítségével. Persze, meg lehet oldani, de lemondanál a Docker legnagyobb előnyeiről. A kulcs az, hogy a szoftver szemszögéből közelíted meg a problémát. A kérdés pedig, hogy ebben az esetben miből mennyire van szükség és egyáltalán miért. Túl a különböző verziószámokon kényelmi és teljesítmény kérdések is befolyásolják a döntést. Nézzük, hogyan!

Megosztás/Mentés

Programok, segédeszközök Dockerrel fejlesztéshez

Szoftver logó a pixabay.com-ról

Miután az ember eldönti, hogy a webszerverek és egyéb programok telepítéséhez, a saját programjainak futtatásához Dockert fog használni, még mindig kérdés, hogy ehhez mit kell telepíteni. Mik azok a programok, amikkel akár több projekt fejlesztése, tesztelése is kezelhető igény szerint párhuzamosan vagy egymás után. Természetesen az sem mindegy, hogy hol lesz a Docker telepítve. Egyáltalán magad telepíted, vagy valahol már adottak a lehetőségek és azokhoz kell alkalmazkodni. Arról, hogy hol lehet magát a Dockert üzemeltetni, korábban már írtam. Most viszont arról lesz szó, milyen programok, eszközök állnak rendelkezésre, amit érdemes ismerni, mielőtt megpróbálsz ezzel a technológiával fejleszteni.

Megosztás/Mentés

Docker, avagy hatékonyság és biztonság nem informatikus szemmel

A cikk borítóképe. Fotó a pixabay.com-ról

Magyarázatból sosem elég. Mindenki más szavakból és hasonlatokból ért. Nekem pedig eltökélt szándékom volt mindig, hogy érthetővé tegyem az érthetetlent. Most ismét a híres kék bálnát, a Dockert. Fontos, hiszen az informatikusnak sem mindig informatikust kell meggyőznie egy eszköz hasznosságáról és bevezetéséről. Volt már kikötőmunkás és buborék is, de most egy talán életközelibb szemszögből szeretném megközelíteni. Képzeljük el, hogy nem is kell tudni informatikusul és még csak túlzottan elvont képekben sem kell gondolkodni, csak megérteni a való világot. Annak egy olyan szeletét, amit azért legtöbben ismerünk, vagy egy részéről reméljük, csak hallottunk. Ezután már csak el kell hinni, hogy a Docker ezt jelenti az informatikusoknak. Most nem az a célom ezzel a cikkel, hogy szakmabelieket világosítsak fel, bár lehet, közülük is hasznosítani tudja valaki a következőket. Sokkal inkább szeretném olyan módon leegyszerűsíteni a témát, hogy csak minimális, ha nem nulla informatikai előismeret kelljen hozzá.

Megosztás/Mentés

Hol futtassam a konténereimet fejlesztés közben?

A cikk borítóképe. Fotó a pixabay.com-ról

Konténer vagy sem, a fejlesztett weblapoknak kell egy hely, ahol azok futhatnak. Erről általánosan már írtam korábban a Teszt weblap elhelyezése című cikkben, ám konténereknél egy kicsit másképp működik a dolog. Amennyire én tudom, a teljesen ingyenes szolgáltatásokat rögtön ki is húzhatjuk a lehetőségek listájáról. Leszámítva a próbaverziókat. De akkor mik az alternatívák?

Itt is minden attól függ, mire van keret és persze mi a cél. Amíg csak otthon, fejlesztéshez kell, egyszerűbb megoldások is vannak. De mi van, ha fel kell készülni arra, hogy egy nap nem csak saját gépen kell jól működnie a programnak? Mivel a konténerek, mikroszervizek esetén a program különböző részei más-más konténerben és akár gépen lehetnek, ennek van jelentősége. Tanulási fázisában persze még nem ez a cél. Mutatom, miket érdemes ismerni.

Megosztás/Mentés

Docker és a lehetőségek hosszú sora

A cikk borítóképe. Fotó a pixabay.com-ról

Ha egy technológia beindul, elszaporodnak az alternatívák, a ráépülő és azt segítő alkalmazások, illetve előkerülnek kapcsolódó technológiák, eszközök is, amiket érdemes együtt alkalmazni, ha egy kicsit távolabbról szemléljük a képet és nem csak a célnak egy szeletére koncentrálunk. Nincs ez másképp a Dockernél sem.

Amikor elkezdtem foglalkozni ezzel a területtel, fogalmam sem volt, hogy csak a jéghegy csúcsát látom. Hogy mennyi fejfájást fog még okozni számtalan olyan eszköz megismerése, amik sokszor egymás alternatívái és amikről még csak nem is egyértelműek a vélemények. Otthon vagy munkahelyi gépen fejlesztésnél kicsit egyszerűbb a helyzet, de még akkor is bőven van mit tanulni. A következő néhány fejezetben arról fogok írni továbbra is főként a webfejlesztést szem előtt tartva, hogy milyen lehetőségek közül lehet választani és mit érdemes tudni róluk. A folytatásból máris megtudhatod, milyen szervereket, szolgáltatásokat tudok javasolni a Docker futtatására.

Megosztás/Mentés

Dockerrel fejlesztenék, de hogyan kezdjek hozzá?

A cikk borítóképe. Kérdőjel fotó a pixabay.com-ról

A virtuális gépekkel szemben a Docker más gondolkodást és folyamatokat igényel. Ami előbbi esetben nagy problémát jelent, az utóbbinál gyerekjáték, hiszen arra találták ki. Az előnyök viszont nincsenek ingyen, így lesznek más problémák, amik megdolgoztatják az agytekervényeket. Logikusan és türelmesen viszont ezek az akadályok is átugorhatók az egyes lépések megértésével. Megpróbálom összefoglalni, mik azok a lépések, ha Dockerrel szeretnél dolgozni webfejlesztés közben.

Megosztás/Mentés

Webfejlesztés Dockerrel

Docker logo (https://www.docker.com/brand-guidelines)

Volt idő, amikor azt tartottam a legpraktikusabb megoldásnak, ha webfejlesztéskor virtuális gépet használok, mert pontosan olyan környezetet tudok kialakítani vele, amire szükségem van és ezt hordozhatóvá is tudom tenni, még ha ez egy több gigabájt méretű exportált virtuális gépet is jelent. Habár ez az előny kétségtelen, valójában az egész virtuális gépezés kiinduló pontja és ösztönzője az volt, hogy fejlesztéskor szerettem volna több, különböző verziót is használni PHP-ból, Apache HTTPD webszerverből és MySQL adatbázisból is, hogy így gyorsan, bármikor, bármelyik verzióval le tudjam tesztelni a programomat. Ez akkor a komponenseknek a forrásból való fordítását jelentette és hálózati interfészek konfigurálását több IP cím beállításához, hogy így ezekhez doméneket lehessen rendelni és ne legyen szükség az alapértelmezettől eltérő porton futtatni semmit.

Megosztás/Mentés