• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ALMADDocker a kontejnery
    Docker aneb přístupný provoz kontejnerizovaných aplikací
    Docker(Hub), Compose, Swarm, boot2docker, DevOps, LXC, ECS, TumTum a jiné buzzwordy
    Bezpečnost v prostředí kontejnerů
    Related: automatizace [ Centralizovaná správa stanic a ostatních prvků v síti konfigurace/inventarizace/instalace/aktualizace/zalohovani ]
    rozbalit záhlaví
    GIOMIKY
    GIOMIKY --- ---
    HOUMLES: O.K. ... treba se jednou najde duvod.
    MARTEN: Jo, docker je super. Az ho prida M$ do WLS, tak to bude jeste oblibenejsi.
    HOUMLES
    HOUMLES --- ---
    GIOMIKY: ja bych to spis videl, ze bys mel dospet ty a upustit od tvych zajetych koleji :)
    GIOMIKY
    GIOMIKY --- ---
    MARTEN: Nepotrebuju nicm experimentuju.
    GIOMIKY
    GIOMIKY --- ---
    RUDOLF: Ja nerikam, ze docker je na nic... na vpsfree je ten muj stroj kontejner... a kdyz si v kontejneru udelam kontwjner, tak se mi to blbe managuje... treba az docker dospeje a zacne delat za par let misto bordelu na disku nejaky rozumny image, tak nastane cas ho zkusit znova.
    MARTEN
    MARTEN --- ---
    GIOMIKY: no, ona zaloha dockeru se dela uplne jinak a je mnohem snazsi.
    Strasne zjednodusene, pokud budu chapat dobre presne co potrebujes.
    Vytvoris si docker-compose.yml, coz je config sluzby kterou chces bezet. Vynecham jak bude vypadat. Ale je tam jaky image chces pouzit, pripadne nastaveni (treba jaky se ma vytvorit defaultne user v mysql, jake ma mit virtualni site,....). V tom bude i adresar ktery chces mit persistentni, to je jedine co te zajima na zalohu. V docker-compose to bude treba /var/lib/mysql:/volumes/mysql.
    Docker-compose.yml das do gitu, nebo kamkoliv, at se ti to hezky prenasi i k tobe, jestli je treba (nebo v gitu daneho projektu).
    Pokud to chces prenest k sobe, pouze zazalohujes /volumes/* a preneses k sobe. Spustis `docker-compose up` a to je vsechno. Uz se ani nestaras o to ze u sebe nemas mysql, nebo cokoliv jineho. Udela to sam podle toho co bylo na serveru. Nezalohujes nic dalsiho.
    Je to zjednodusene. Do /var/docker je zbytecne chodit, tam jsou proste interni veci.
    RUDOLF
    RUDOLF --- ---
    GIOMIKY: HOUMLES: to je prostě úplně jinej mindset. Lidi jedou podle osvědčených vzorců, dokud se nestřelí do nohy. Do kolegy pravidelně hučím, ať ten postup vždy přepíše do ansible - a odpovědi typu - to budeme dělat jen jednou a tak:-) Jakoby nikdy neproovozoval žádnej systén. No a samo, včera přišel produkťák, že po něm chtěl aby deploynul dalších sedm strojů:-) Oba si uvědomili, že ta investince do ansible asi není blbá a neděláme to abychom si honili naše engineering péra.

    Jinej mindset je třeba vnímat ty OS jako efemerální zdroj, v kterým jen alokuješ to co je skutečně perzistentní a to máš někde pravidelně zálohovaný. Všechno ostatní deployuješ kam potřebuješ a jen obnovíš perzistentní data ze zálohy.

    A nebo migruješ VM, ale pak si ji jednou za mnoho let rozesereš a už ji nedáš dohromady:-)
    GIOMIKY
    GIOMIKY --- ---
    HOUMLES: No jasne.
    HOUMLES
    HOUMLES --- ---
    GIOMIKY: uff, to jako vazne zalohujes VM tak, ze stahnes celej 80GB zatarovanej filesystem? :)
    GIOMIKY
    GIOMIKY --- ---
    MARTEN: Provozuju na vpsfree.cz vpsku... v ty jsem si zkousel docker... jako super, bezva. uzivatelsky pritulny... jako jo, asi by se to hodilo... ale obcas tu vps prenasim k sobe... zaolohu... a tady je trosku kamen urazu... delam to tak, ze stahnu vps (80 GB dat +- autobus) jako jeden tar.gz. ... ten potom rozbalim u sebe, prenesu do vm ... a kdyz tam mam v /var/docker tenhle bordel, tak se mi z vyse popsaneho postupu stanou tantalova muka.
    MARTEN
    MARTEN --- ---
    GIOMIKY: Vyhoda dockeru proti VM je rychlost - predevsim spusteni, protovozovani uz je skoro stejne. A hlavne i to zabere o dost min mista nez VM, jak na disku, tak v pameti a vlastne i na cpu.
    /var/docker te nemusi zajimat, to je jeho interni cache a persistentni data. Hromada jineho sw taky ma cache kterou nechces prochazet.
    .net tam spustis, mssql apod taky. Ale docker neni delan na spusteni celych windows, nebo ani linuxu. To neni vubec jeho cil a nema na to byt pouzit. Docker ani nema nahradit VM, proste jeho ucel je neco jineho.
    FALLENANGEL
    FALLENANGEL --- ---
    UETOYO: Hm, nejsem si uplne presne jistej jako to funguje na windowsech. Predpokladam teda, ze tvuj Docker Host je taky windowsovej stroj (podle toho ze zminujes 'Network' adresar).

    Pomoci 'docker volume create' [1] bys mel byt schopny z toho adresare udelat volume a ten pak pomoci -v flagu [2] namountovat do kontejneru. V Linuxu musis jeste namountovat ten sdilenej adresar. S windowsama jsem na tenkym lede.

    [1] https://docs.docker.com/storage/volumes/#create-and-manage-volumes
    [2] https://docs.docker.com/storage/volumes/#start-a-container-with-a-volume
    GIOMIKY
    GIOMIKY --- ---
    RUDOLF: jj, nedovedu
    RUDOLF
    RUDOLF --- ---
    GIOMIKY: no, píšeš: "chapu, ze je to super easy na nejaky testovani a vyvoj" -> tj. nepochopil si přínos dockeru - docker změnil způsob jakým se dneska provozuje produkce a jak se na ní nasazuje a celej ten proces od commitnutí kódu, přes testy, ověření a nasazení na produkci. Zrovna Docker v MacOS není nejlepší implementace a znám pár lidí. co radši vyvíjejí nativně. Já to mám mixed. Nic proti VM, buildování AMI vůči AWS nebo příprava images pro vSphere mají stále velké opodstatnění. Ale často je to jen underlaying VM, který ve finále je jen prostředím pro nějaký orchestrátor nebo docker.

    Ale bez zkušenosti s reálným provozem nějaké větší infrastruktury, si člověk neumí představit, kde všude byl docker skvělej fit in.
    GIOMIKY
    GIOMIKY --- ---
    RUDOLF: Jo, chapu, ze to ma tunu silene uzitecnuch features. Ale na svuj pocitac to nechci. Diky moc za vysveteleni.
    RUDOLF
    RUDOLF --- ---
    GIOMIKY: Docker je o konzistentním nasazení kódu do produkce. Můžeš si upéct packerem VM, ale Docker má pár dalších užitečných features díky orchestraci, že tě VM sami o sobě přestanou zajímat. Kdyby byl Docker jen na vývoj a testování, tak nikoho nezajímá. Přínos je v běhu na produkci a orchestraci. O tý struktuře souborů dockeru si můžeš přečíst v dokumentaci. Ale chápu, že běžný IT je spovykaný z každý novinky, kterou neví jak vstřebat.
    GIOMIKY
    GIOMIKY --- ---
    HOUMLES: jj, nic pro mne... chapu ty vyhoody z hlediska setreni zdroju... ale wokna na tom nespustim a hlavne ten bordel na fs me odradil... plus chapu, ze je to super easy na nejaky testovani a vyvoj, ale rad zainvestuju cas a zdroje do rozchozeni vm. Diky moc
    HOUMLES
    HOUMLES --- ---
    GIOMIKY: a pak kdyz budes chtit treba rozjet jeste postgres tak prave diky vrstvam dockeru, uz se dotahne jenom ten postgres a vyuzije to ty vrstvy z mysql (za predpokladu, ze to bude taky vychazet ze stejny verze alpine image). zatimco ty uz bys mel pusteny 2x VM :)
    GIOMIKY
    GIOMIKY --- ---
    HOUMLES: ok, chapu
    HOUMLES
    HOUMLES --- ---
    GIOMIKY: nemas tam tu zbytecnou vrstvu VM (emulace hw apod) a celej system ... kdyz bys chtel rozjet treba mysql v qemu tak ti to bude zabirat min 5GB a zrat zbytecne ramky celej OS, kdezto v dockeru treba na alpine image to ma tak 100MB a fakt ti bezi jenom proces mysql
    GIOMIKY
    GIOMIKY --- ---
    HOUMLES: ok a v cem je to vlastne vyhodnejsi, nez virtualni stroj se snapshotem?
    HOUMLES
    HOUMLES --- ---
    GIOMIKY: tak to je tak trosku princip dockeru, ze je tvorenej z vrstev :)
    Kliknutím sem můžete změnit nastavení reklam