docker

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

VPN-szerű megoldás Docker és SSH tunnel segítségével

cikk borítókép

Volt már olyan, hogy VPN-t kellett használnod egy távoli, privát hálózat gépeinek eléréséhez, de közben a helyi hálózati eszközökkel is szeretted volna megtartani a kapcsolatot? Én már jártam úgy, hogy azért szakadt meg a laptop és az asztali gépem közötti RDP kapcsolat, mert be kellett lépnem otthonról egy munkahelyi gépre. Szerencsére nem a VPN az egyetlen lehetőség ilyenkor. Ott van például az SSH tunnel. Ez inkább Linuxon népszerű és egyszerű. Windowson kicsit trükkösebb. Ilyenkor viszont gyakran nem úszod meg, hogy a rendszer hosts fájlját szerkeszd azért, hogy a távoli szerver virtuális hosztjait külön-külön elérhesd. Arról nem is beszélve, ha egy távoli fájlrendszert szeretnél felcsatolni például samba-n keresztül. Ekkor a samba portok átirányítása feladja a leckét. A VPN is problémás Linuxon, ha a távoli VPN szerver nem kompatibilis egyik kliens programmal sem. Én pontosan így jártam, és azóta kerestem a megoldást, amit most megtaláltam. Ehhez írtam egy kis programot, amit most bemutatok.

Megosztás/Mentés

Első lépések a Docker konténerekig

Eddig már két alkalommal is a Docker előnyeiről írtam, de ebben a cikkben a gyakorlatibb oldaláról közelítem meg a témát. Dockerrel elindítani egy már eleve arra készített programot gyerekjáték és így öröm dolgozni. Ezt lehet bonyolítani, de egyelőre bőven elég lesz a vidámabb része. Ehhez azért pár fogalmat tisztázni kell, mert bár a gyerek kreatívan eljátszik bármivel, a Docker esetén jobb, ha tudod, mi, mire való. Mindeközben használhatod a teszteléshez a Play with Docker szolgáltatást, hogy telepíteni se kelljen semmit. És ami a legszebb, legegyszerűbb esetben ennyi egy program indítása: docker run hello-world

Megosztás/Mentés

Mese a Dockerről

Amikor az ember megpróbál egy teljesen új témát bevezetni, problémát jelenthet, hogyan is kezdjen neki, mennyire induljon az alapoktól. Én is így jártam az előző, és egyben első, Dockerről szóló bejegyzésemnél. A visszajelzések felhívták rá a figyelmem, hogy valószínűleg nem volt teljesen érthető és világos, hogy mi is az a Docker és miért jó ez neked. Április 21-én előadást tartok a témában Szegeden a Networkshop konferencián, aminek főpróbájaként a könyvtáros kollégáknak is volt lehetőségem bemutatni a témát. Erre az alkalomra egy olyan, érthetőbb bevezetővel kezdődő prezentációt készítettem, ami ábrákkal teszi felfoghatóbbá a Dockert és annak világát. Ezt a bevezetőt hoztam el cikk formájában.

Megosztás/Mentés

Docker, az informatika kikötőmunkása

Korábban már írtam virtuális gépekről és azt is megmutattam, hogyan alakítható ki vele egy komplett fejlesztői tesztkörnyezet. Már ez a fajta virtualizáció is sokat segített bizonyos problémák megoldásában. Van azonban egy másik lehetőség, amikor nem egy virtuális gépet indítasz egy teljes értékű operációs rendszerrel, hanem csak az alkalmazásod számára biztosítod azokat a programkönyvtárakat, binárisokat, amit valójában el szeretnél indítani. Valószínűleg legtöbbetek számára ez alapján egy egyszerű "jail" ugrik be, ahol egy programot be lehet zárni a fájlrendszernek egy adott területére és csak az azon belüli fájlokat látja. Gyakorlatilag valóban valahol itt kezdődött minden.

Megosztás/Mentés