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.

Azóta a világ változott, mert a Docker félelmetesen gyorsan felküzdötte magát az élvonalba egy olyan eszközként, aminek alap koncepciójának része a tetszőleges verziók indítása nem csak a fent említett három szoftver tekintetében, hanem gyakorlatilag bármi esetén.

Ez a világ az alkalmazás konténerek világa és ebben a sorozatban azt fogom bemutatni,

  • hogyan használható akár virtuális gép nélkül webszerverek, adatbázisok és tetszőleges további programok elindítására,
  • hogyan tesz egyszerűen reprodukálhatóvá egy rendszert,
  • hogyan teszi rettentően egyszerűvé az eredmény közzétételét
  • és hogyan teszi sok esetben deklaratívvá a szoftverek függőségeinek beszerzését.
  • Szó lesz még a nehézségekről is, mert csak a reklámban szokás elhallgatni a problémákat.

A sorozat a Tesztkörnyezet kialakítása webfejlesztéshez című anyaghoz hasonló céllal és ütemben készül, de a Docker tulajdonságaiból adódóan egészen másra helyezi a hangsúlyt. Érthető módon, hiszen amit korábban hosszú munka árán lehetett elérni, azt a Docker tálcán nyújtja, így az idő a lényegesebb műveletekre fordítható.

Kategóriák: 
Megosztás/Mentés