Linuxové kontajnery našli široké uplatnenie, ale skutočne zažiarili v najdiskutovanejšej novinke zo sveta developerov – platforme Docker. Dnes sa pozrieme o čom celý rozruch okolo Dockera vlastne je. Na začiatok si vysvetlíme základné princípy a terminológiu.
Kontajner umožňuje developerovi zbaliť aplikáciu a všetky časti potrebné k jej behu do samostatného izolovaného balenia. Toto balenie je ďalej nezávislé na okolitom prostredí, pretože všetko potrebné pre beh aplikácie je v kontajneri.
Developerský stack je silne fragmentovaný na nižších aj vyšších leveloch, od rôznych operačných systémov, ich verzií a distribúcií až po interpretačné jazyky na ktorých aplikácia beží. Docker sa snaží túto fragmentáciu prekonať a umožniť tak developerom z rôznych vývojových prostredí pracovať a testovať spoločný projekt. Mnoho hodín bolo v minulosti strávených debuggovaním a lamentovaním nad tým, prečo software na vývojovom počítači beží bez problémov ale na produkčnom serveri hlási chyby.
Úlohou Dockeru je teda separovať aplikáciu od operačného systému a závislosti na presne definovanom prostredí. Na myseľ prichádza porovnanie s virtuálnymi prostrediami ako VirtualBox, Vmware a Vagrant. Rozdiel nasadenia docker kontajneru oproti virtualizovanému prostrediu je už spomínaná absencia závislosti na operačnom systéme. Napríklad vo VirtualBoxe treba vybrať a rozbehnúť obraz ktorý môže mať v prípade Windows až 10 GB, čo sťažuje portabilitu a prenosnosť medzi developermi.
Hlavnou výhodou dockera je istota že pri nasadení aplikácie do produkcie aplikácia pobeží rovnako ako pri vývoji a testovaní. Docker sa skladá z Linuxového deamona a CLI prostredia, pri Windows a OSX systémoch prichádza do hry ešte boot2docker host, ktorý wrapne Docker Deamona.
Kontajner sa skladá z tzv. Image, ktorý obsahuje vývojové prostredie a samotnú aplikáciu. Po zvolení imagu (podobne ako .vmdk vo VirtualBoxe) je aplikácia naštartovaná. Ďalšou vrstvou je Docker register, kde združujeme obrazy ako privátne alebo zdieľané s ostatnými developermi.
Verdikt:
Docker čaká sľubná budúcnosť, kedže zaujal už aj väčších hráčov na trhu ako napr. Microsoft, ktorý sľubuje natívnu integráciu do svojho operačného systému. Nevýhodou môže byť ťažšie nasadenie a (momentálne) potreba VirtualBoxu pre nelinuxové prostredia.
Hodnotenie: 8/10
Stránka produktu: https://www.docker.com/