 Dobrý deň a hojce. A ako tu špadlo, ja by som dnes veľmi rád spojil dve moje veľmi oblúbene technologie ako Docker, tak WordPress. Moje meno je teda Fervolar, som zo spoločnosti web support, ktorú asi primárne je poznáť ako doménového a hostingového providera. Ja tam mám na starosti businessový segment, ktorý sa viac točí okoro serverov a cloudu. WordPress používám už sakra dlho a mám rád kontrajnery, aplikačné kontrajnery, nie také tie smetle. A venujem sa jim CCA od kedy bol uvolnený Docker a o tom si viac, teda povieme ďalej. Ja som si moje dnešné rozprávanie rozdelil na také 3 časti, čo je to Docker ako spojí Docker s WordPressom a na server tam budú nejaké praktické odporučenia. Ak sa podarí, tak príde aj demo. Čo je to Docker? Prátím sa par stoviek, možnáš tisíc rokov späť, kedy sa továr prepravil na ľodiach. Ešte takým spôsobom, že to, čo ste potrebovali odviesť, na to ste museli majť túloť nejakým spôsobom usposobenu. To znamená, že tu máme krásnu ilustráciu asi z roku 1661, ktorá z názoru predpravil tabaku. Tabak sa predpravil v súdo, ako náhle chceli prepravať uhlie drevočokovek ďalšie. Tak bol veľký problém, tentovár miešať. Samozrejme, nedotýkal sa to len ten kokretnej ľode, ale dotýkal sa to aj toho, akým spôsobom vlastne tentovárk tej ľodi bol dopravený. No a toto trvalo niekoľko tisíc rokov, než k tomu nastal nejaký progres. A ten progres prinesli lodné kontajnery. Prvá použiteľa nejakým spôsobom štandardy som na verzia prišla v 50. rokoch, v 50. rokoch minuleho storočia a od vtedy sa nejakým spôsobom upgradeuje, ale je to štandardom. Prečo to tu všetko spomínám pri dokeri? Čo tým to má vlastne doker spoločné? Má ten spoločné to, akým spôsobom je software vytvarany, akým spôsobom je ten software toručovany a prevádzkovaný a akýkoľk software. Čo sa týka dokeru, tak sníko najprv ako projekt albo ideá roku 2010, od tý roky neskôr bol volný ako open source už pod násvom doker. Najprv sa to volalo dotcloud a s môjho pohľadu ide o jeden z najlešších spôsobom, ktorý prináša, nie dá sa povedať úplne štandardizáciu, ale nejakú filosofiu za tým, ako zo softwareom vôbec pracovať. Čo sa mne od na toho najviac páči, tak doker je dostupný voch, edíciách, jedna je to open source alebo community edition, o ktoré budem rozpráť ďalej, a tá druhá je enterprise edition. K čom by som doker prírohná, alebo s čím je najčastiešie porovnáhaný, tak ide, alebo hovorí sa, že ide o také jednoduchšie virtuálky. Virtuálny server tu asi v skratke každý nejakým spôsobom pozná, pokiaľ si tam chcete rozbehať nejakú aplikáciu, tak tom virtuálnou serveru musíte mať operačný systém, asi tapované nejaké aplikácie, ako je toto všetko nastavíte, tak až potom tam môžete náhrať nejaký svoj kot, nejaké databácii, na toto spúšte. Ak tie databácii sú rovnaké, tak čo doker vlastne rieši, je, že odstrenujú tu jednu vrstu. A to z toho dôvodu, že už ta nemusíte stále dookoľa se tapovať ten operačný systém a aplikácie, ale poká potrebujete 10, 50, 100 milion containerov s rovnakou alebo podobno aplikácie, o tak viete použiť stále ten istýmič, oproti ktorému sa vlastne pre každý ten container zapisujú len rozdiamy. A ke to ma teda výhody? Jednou, a poľa mia, že jednou z najúžasnejší výhody je, že doker je multiplátformový, viete si rozbehať na Linuxe, na Windowse, na neku, oproti tým virtuálkám je veľmi rýchli, je univerzálny, môžete vňom deliverovať akékoľvek aplikácie, napisane v akomkoľvek jazyku a opetých spúšťať na akékoľvek platforme. Čo je super, tak nemusíte sa ho učiť mesece alebo tížne, stačí na to par hodiny, aby ste vedeli s ním robiť elementárne zákalit na svojom notebooku a tým si nejakým spôsobom a hlavne doker od kedy znikol okol seba výbudoval brutalny ekosystem. Každý deň sa do slova objavujú jednotky až desiatky aplikácii, ktoré nejakým spôsobom riešia kontánery alebo konkrétne doker. Čo ja osobně najviac na tom preferujem je to, že je to riešenie a kým spôsobom môžete odložiť problémy s softwarem Lanesquore pretože ak máte naplikať stare PHP, ktorú už nejé možné prevádzkové na štandardnom šerovanom hostingu, viete si ozare do kontánera, ten kontáner nejakým spôsobom limitovať a tá aplikácia tam vie nejakým spôsobom dožiť, alebo ak vyvíjate aplikáciu, ktorá si výšaduje setup nejakého veľmi komplexného prostredia najštova nejaké knižnice, či webový server ale vy tu aplikáciu chcete dať váš mu zákaznikov, aby čo najrýchlejšie s nem viediel sa začať fungovať tak Docker ješi presne toto lebo vy mu to viete dať v jednom imíči v jednom baličku, ktorý on si spustí a nemusi nič setupovať, môže tu aplikáciu začať innej používať a hlavne, čo sa hodí teda k tejto pre naške ješi ako používať docker tak vám zanechať čisty operačný systém aby sme boli tak na jednej tak čo je to imíč imíč je základ alebo zbalený operačný systém ktoré sa spušťajú kontajnery to akým spôsobom sú vytvodené tak je popisane v dockerfajloch dockerhubsi ešte ukážeme to akým spôsobom ten kontajner ktorý je teda nejakým spôsobom limitovaný júsevra ty komunikuje s vašim notebookom a vidí vaše data, ktoré vy chcete spušťatí kontajnerov, ktorý je ešte necez voliumy a svietovanie sa robi cesporty, to znamená, že vy ak tú aplikáciu v tom spustíte tak chcete si to spustí na jakom portie na lokalhoste ak robíte vývoj, aplikáciu, testovanie chcete si odskušia akíkovek plug-in väčšina ľudí to robi na tom prostredí malok do používaň jaký staging alebo ak vy vyjate na lokále je veľmi náročné udržácii rôzne versie PHP webových serverov a ak teda používate svoj notebook a vy vyjate tam tak väčšinou si naníštávate búdť priamo nejaké servere tamto spušťate alebo použijete nejaký prenyštávovaný stack nejaký vamp, xamp mamp čokolvek ale tiež ma svoje limity je to nejaký bundle, ale čo ak potrebujete niššiu viššiu versiu PHP niektoréte bundle s tým vedia robiť a večinoj ide o komerčnej edícii alebo potom sú tu štúly ktoré sú priamo optimalizované na vývoj WordPressu ale tie sú veľmi často previazané práve s tým tvorkom ktorý to vyvijá lebo to večinoj optimalizuje pre svoj hosting no a keď ste je fakt že už naskilovaný tak idete minimálne do nejaké virtualizácie že chcete mať oddelený ten svoj lokalny systém a celý ten vývoj robiť je vo virtualkách to je strašne s mojou pohľadu obrovský kanón ktorý nevyužijete je to veľké, je to pomalé čiže celé to funguje keď na tým pracujete nejakým spôsobom takto ale do to prichodza to kúslo a tým kúslom je samotný Docker a čo potrebujete? s Docker.com si stiahnete pre svoj windows albo Mac instalátor ten rozbejháte, nasetapujete pokažete začať používať je to veľmi jednoduché je to veľmi trivialné druhu vec ktorú potrebujete je, že ak chcete začať budovať nejakú aplikáciu tak potrebujete nejaký zákl ten image kde nájdete ten image? image je nájdete na hub. Docker.com čo je veľmi podstatné tak sú oficiálne image WordPress priamo má oficiálny image to znamená, že niekdo ho udržuje a niekdo garantuje za jeho bezpečnost idete spusti ako container ako vidíte, tých verzií je strašne veľa to prvé číslo je verziá WordPressu a to druhé je PHP čiže piete si spusti container z akou koľvek verziou WordPressu no a teraz prichádza to čo sa obávam a to je demo ako by to mohlo vyserať je to vidieť dobre ja som pripravil pár takých súborov ktoré správia to, že Docker má mu seba nainštavovaný vy si z Docker hubu napríklad spustite stiahnete tento môj repozitár a zavoláte čo to správia, že to nainštavuje Docker nainštavuje to dva containers jeden s WordPressom, druhý s databaseom a rozbehá to teda nie je doručovaná s instaláciem WordPressom ale ja ju tam mám vlastne nalinkovanú to znamená, že celé to kúslo sa děl v tomto súbore, kde mám dva containery, prvý je database druhý je WordPressový tu je popisana verzia, ktorú chcem nainštalovať sújankým spôsobom prepojené a v adressári web content mám adressár s témami a tam mám nalinkovanú teda 20-20 shablonu a čo tam ešte posielám je nastavenie PHP, aby som s tým vedel niečo robiť to znamená, že nastavujem si tam tie max file size a execution time a keď to chcem celé spustiť to spustím týmto jenoduchým príkazom čo mi vytvori jeden container, druhý container prekopíruje nalinkuje tam tie data, ktoré mám lokalne tu svoju shablonu keď si to potom spustím na porte 8000, tak už tu mám rozbehanú instalácie spustím si Slovenčinu trošku to trvanie sa to rozhybe ok, a portpress mám vlastne na setupovne naištavovaný prihlásin sa ide o teda marcov verziu portpress sú čiže neď viem, že tam mám nejaké aktualizácie a v témach vidím 20-20 ktorá tam štandardne je a vy vlastne na tom lokalne možete mať úložený aký korovek svoj plug-in akú korovek shablonu ktorú chcete takýmto spôsobom testovať jednoducho zobrajete tento konfiguračne súboru to o upraviteľu poľa nejakých svojich potrieb a nemusite nič žiadne servere instalovať, konfigurovať setupovať a vy jeď to okážete začať používať ja to mám ešte ďalšie dve rýchlejú ukážky netikajú sa portpressu ale chcete aj to vidieť super a ta prvá je naplikáciu N8N ktorú som objavil tento týždeň ak niekto používá zapier alebo nejaký iný automatisačný túl ktorý napríklad viedetegovať že vy na svojom blogu napišete post a chcete aby sa automaticky pozdělala nas sociálne siete alebo aby sa vám pridal nejakým spôsobom nový subscriber do vašeho mailovacieho nejakého túlu tak toto je krásná open source náhrada zapieru preto abyste si to postovali tak stačí spustiť container pretože tá aplikácia je doručovaná v containersi čiže ak vy máte naištovaný docker skopyrujete si vlastne toto čo oni tu odporúčajú spustiť a na portie P678 sa my spustí môj vlastny klón zapieru môžem to rovno odestovať jo super čiže ono to bylo veľmi rýchle pretože to bylo veľmi rýchle bo ten záklany imič ja už som mála posať vstiahnutí čiže jak to budete úplne prvý krat spúšťa bude to chvíľku trvá lebo musí si to ten imiť vstiahnutí ako máme to spúšťať druhý, tretí, krát je to po nej automatizované a vlastne ja už si tu môžem začať inhe robi nejaké to svoje workflow jasné, že toto nie je okanžiteľ na produkčné násadenie ale minimálne si takto veľmi rýchle bez to je komplikované si setupovali celéto serverové prostredie viete tu aplikáciu ošahať a viete zjistí, či spôňa vaše podmienky a vlastne stojí za ten effort, ktorý by ste vy do toho dali dali sa tomu vlastne nejakým spôsobom venovať ta druhá ukáška poznatú niekto listmonk poznatú niekto mailchimp super tak listmonk je zase oponsálstva verziá mailchimpu neviem, čo me predstne napísaná a myslne si, že gočku čiže zase úplne iný programovací jasík a ma to pekne gujičko viete si to rozbehať zase u seba ja to spustím túto ukášku už sme si to vedeli pouzredň zase sa mi vytvarajú nejaké kontané na posadí a mal by som to teda vidieť lokalne ja to mám trošku upravené na portie 90-90 a listmonk je super aplikace ktorá vie sme zberáť mailové adresy vie robiť distribučné listy vie robiť kámpanie viete si to upravať o tomilou templatei ako to ma vyzeráť čiže opäť super tool a to robiť sa s marketingom hvoreľa je odporučam čiže toto sú za mňa 3 také rýchlej utázky 3 rýchlej ukášky ako sa da vlastne použiť použiť doker na rýchlej otestovanie niečo čo čo by vám štandardne trvalo veľmi veľmi dlho slájdy inak budú na našom Twitteri, web sapor, potražník tech čiže jak vám nečo uniklo tak kurne si tu prezentáciu poslite ešte nejaké typy z praxe toto čo som ukásoval sa ukásoval na vlastne napríklad ten WordPress sa da doľadíť aby to bolo o veľa lepšie vývojarske prostredie je možne tam prídať SSL certifikáty možete si tam rohu nastaviť možete tam nastaviť aby vám aj fungovali reálne e-maili časom sa asi dostane k vlastným imidžom kto tu používá v poceľej pre setup tak v poceľej je priámododávané v oficiálnych imidžoch začasť s tým používať a ten script na vystavanie tý kontánerov je možne doplniť aj od data, tie data súbory môže mať uložené lokalne a priložím k tomu vlastne datáblasu na import a tie kontánery už možú obsahovať samotný ten obsah webu ktorý vy vlastne potrebujete používanie dokeru na notebooku je veľmi návikové a preto ak tam spustíte veľa tý kontánerov tak sa môže stať, že vám to veľmi rýchle zapracete ten disk Čiže tu sú nejaké príkazy Ďaká ktorému si pozriete že ktoré kontánery vám už nebečia ktoré nepotrebujete a viete hnejakým spôsobom odmasať Vyviate si to u seba na lokále ako to niekomu úkážete public Ja som len používám aplikáciu N-GROCK alebo FOREWARD HQ tieto aplikácie robia vlastne to, že to čo vám beží na lokalhoste vedia pretunálovať VON do internetu a to môžeme ešte na rýchle ukázať lebo je to samé tiež veľmi užitočná vec Podstate, jediné čo som tam zadaľ je ten port, ktorý chcem výstavit VON do internetu ďaká tomu som dostal takúto náhovne vygenerovanú adresu a to keď pošlém kolegový zákazinkový ktorý sa potrebuje na to posreť VON kus internetu tak asi my nefungujem ned trans tak na tej úrolo vlastne ten obsah nájdem ďalej odporučám používať len oficiálne imiže tie, ktoré nájdete na tom HB sú oslačené to vlaječkou že ide oficiálny imič pretože ten imič tam môže náhrať vlastne ktokolvek a ten obsah, ktorý ten náhrava častokrát nejaký malver ktorý majnuje nejaké kryptomeny a podobné veci Čiže odporučám držiať sa tých oficiálnych imižov Všetko toto, čo som ukazoval tak sa náosá aj týka dývoju na lokalhostie v malom týme Čo ak takéto kontánery chcete prevatskovať na servery alebo chcete, aby priamo htom bežali je to veľká téma sama o sebe Čiže ak vás toto zájímia tak kľúdu nepoprenáške sa o to môžeme vpobají nástoje, ktoré výrazne ulačujú život Pokiaľ si doká nechcete instalovať, ale chcete si odskúšať tak jednosnačne odporučám a play with docker na ktorý sa jednoducho prihlásíte a môžete si tam odstavať všetko, čo som má na termináli ukazoval Pokiaľ vyvyjate PHP aplikácie Či točný je generátor konfiguráciej ktorý sa ula PHP docker plasne si tam vyberijete framework ktorý používať databás, jaké potrebujete príledi si elastixer, či nejaký kešovací server všetko si to pekne vyklikáte a vám to stiahnie zozipovaný konfig, ktorý v kontánery len spustíte a môžete inie začer vyviať nemustíte zase instalovať sa to povedžené servery, aplikácie a podobne kytematik je oficiálne grafické rozhranie pre docker jeho nevýhodov je to, že ja keď som spúšťal tie kontánery tak v jednom kontáneri bežal WordPress PHP-škom sa páčom druhom kontáneri bežala databása kytematik nevie naraz spustíť viac týchto kontánerov a nevie ich automaticky prelinkovať začítáte tak určite tak z dockerom začítáte tuto aplikáciu naíštalujte minimálne má pekne spravené výhľadávanie v tých repozitaru dokly je niečo, čo je veľmi podobné kytematiku len je to preterminal si terminal prácu terminaly užívam ja sa v terminale cítím dobre a čiže ak používate terminal aj vy, tak dokly si určite naíštalujte, je to veľmi pekne spracované ako náhle to idete prevádzkovať na serveroch alebo na nejakom kompleksnejšom setapie a pohrávate sa už s tou produkciu alebo pracujete tam tímovo tak Portainer je veľmi pekne zase spracované webové rozhranie naozaj z enterprise funcjami ktorým vy môžete celú tu prácu lepšie ovládať taj už sa ta nastoľaj prístupy ktorý developer k čom mu má prístup a má to aj monitoring viete ako to je vytiažené viete koliko máte ešte zdrojov k dyspozici a podobne ok, na server ešte posledná vec ako vás kontainery a doker všeobecne závímajú tu máme super stánoček kde sme si pre vás prípravili čítšiť vďaka ktorému naozaj sa naučíte veľmi rýchle pracovať s dokerom a ak budete veľmi rýchli tak dostanej k tomu aj virtuálku na ktoré si to môžete otestovať čiže kulne po prezentácii sa zastavte Ja vám želám na plav bez kontainery pokojné more díky díky, na slide máme jednu otázku dám WordPress dokeru na kliento web ako že chci dať klienta do dokeru jak to chce niekto tu otázku veľco rozobrať niekto sa pýtal som si naklíka dokerí ten WordPress a že ako to dám potom na kliento hosting to oči to jasne je ktorý vier podprovať dokery alebo máš nejaký virtuálny server alebo ja ten doker využívam tak že sa pozriem čo má na setupovane aký hosting má klient pola toho si vytvorím kontainery robím tam ten bývoj a potom tie súborí a datábásu tam je na doko skopyrujujem tak mám istotu, že je to kompatibilné lebo mám cca identicky environment proti je kontainery tak jak ich mám vybyldované u sebach chcem ich spustíť už produkcii tak to je presne to, že diskusia sama o sebe pretože chcelišne ti do to vstupovať to či to chceš mať vysokodostupné či chceli by to ten klient mal vysokodostupné či má vlastne nejakú platformu na ktoré on to prevádzkuje alebo vlastne ideš mu tu platformu nejakú odporu či kde by on to malo nejakým spôsobom prevádzku kledovorskému regionie tých platformiemi je strašne malou aj už sa spočítá si na prstoh jednej ruky za mňa pohodným riešením je začiať s tým VPS kde ten doker vieš najšto len jeným komandom a tak jak si to vlastne vybyl diel u seba tani s tým komandom použiješ na tom VPS a spustíš to tam ako náhle už to potrebujš z nejakou vyšokodostupnostu škálovať tak tým VPSem potrebujš trošku viac tak máme super VPS na ktorých to beží a máme kladové riešenia ktorých si to veš elegančne rozbehná Mielam mňať otázku keď ti maš doker na dokeru na hodíš voldpress tak potom ono tako je to na lokále ale ja na príklad keby ste štesto ak v révo aktualizácii plaminov týma a tak je to automaticky tam kde ja som mal to demo tak si videl, že on je zistil že sú nejaké updejty a keď tam spustí mám updejt tak ten updejt mi zbehnila bo ma prístup na interneta tie dá ta si vie naťahať Čiže s tým to nie je už jeden problém jasné preto aby si vedel si stiahvať imidžia a niekam ich uploadovať a tak niejakým spôsobom distribuvať potrebujš nejaký repozita ten defaultný repozitár je dokerhap a nechcí na príklad, že máš gigový imidž a kopírovať ho na internet zase z internetu repozita ty si ho vieš rozpehať a v kontáneri existujú rôznež služby ktoré toto vedie a robiť zateba a oni na príklad už aj umožňujú nejaký bezpečnostný skin oni sa vedie pozrať do vnútra a keď tam máš kližnice operačný systém a vedia ti povedať že tak tento kontáner v produkcii nepovžívaj a taká to zraniteľosť potom toho funguje takým spôsobom že ja odporúčam začaiť z dokerhapom kde si zadanou vytvoriš account ty správijš si napríklad vlastný imidž uprávijš ten WordPressovský daš tam svoje veci a teraz ho vzco je dať do svetu aby ho použivali tvoji kolegovci ako ješ trochu pracovať s gitom tak je to veľmi podobné na tom dokerhabe a z command line kak maš priplenť ten imidž tak daš doker push dokerhabu po tým násvom ako si mu nastavil a ploudne akokolik ďalší si môže sa sa ten imidž stiahluť a začaj budú aplikácie nad svojím imidžom no ja odporúčam to mať oddelené mať oddelenou tu kodovu stránku mať oddelené data a mať oddelený potom tu čas ktorá ti vystáva imidži alebo tu infrastruktur na ktorou je to beží je lepšie mať to separátne každé z toho no a vlastne aj data vieš naťahať sa nejakého repozitára sa teď sa saťahajú ideálne s nejakého systému ktorom sú uložené nedáva sa to priamať do tých imidžov aby mám prísob k tomu každý Čiže a infrastrukturú aj samotnú aplikáciu a odporúčam ať oddelené podia napríklad ja to mám robene na, ta šablona 2020 je vyvijaná na githabe a ja vo svom repozitáre ktorý tu sa mám davoľa koukášku tu mám len nalinkované Čiže po každej aké cťahujem vlastne robím si update toho repozitára tak robím si update aj toho moduľu ktoré je ta šablona Čiže ja si natiagám to čo porobili mojí kolegovci a zároveň si stiahnem aj ten si stiahnem všetky zmeni z tej šablony a teraz keď spustím container tak mám istotu, že všetky tie zmeni tam sú vlastne zapracované no, tak potom až musíš mať premakanú CI CD pipeline a musí mať premakany celý ten workflow lečinou sa vyvijá v nejakých branchov, v nejakých testovacích prostrediach až na konci sa robi nejaký kompletný merge všetkých tých branchy a potom ide nejaká finalná verzia ak sa to robia na tom, že jednotky alebo desiatky vývojáro, každý potrebuje nejaké oddelane prostrie, večinou každý si tu zmenu robi po vlastnej línie v nejakom testovacom prostredi až na konci, keď zbehnú nejaké všetky integračné testy, tak až potom sa to merčne celé dokopy Čiže tak tam je to nechcem byť v vulgárni, ale strašno ťažké Akor, že ten doker ty si hovíš automatisovať je bešové, alebo paršelove skrypty, že keď správíš takúto zmenu a zapišeš do gitu, aby ti to vybildovalo vlastnovi kontainer a ty si hovíš rýchle pozrieť Tiesmeny, pokiaľ ty použiaš ten image, ale tam vždycky dodávaš tie súbory, tak ten kontainer ďalší až naozaj za milisekundy až jednotky seku naštartované Čiže toto nezdržuje toľko ako vybildovať nejakú virtuálku celu alebo nečo podobné a sa na to pozrieť, že čo má by tým výsledkom to rýchlečieho vývoju a že či naozaj už vždycky potrebujš pokaj, kde sme nie si vybildiť ten image a pozrieť, ako je s meni tam nastali alebo či sa to robí v nejakých fázach Dobre, tak ešte raz ďakujem