• ú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í
    MARTEN
    MARTEN --- ---
    URPUTNIK:
    a) Jde oboji. Spravnejsi je balit i s kodem aplikace, duvody presne ty ktere pises. Chces tedy mit verzi stejnou se vsim. Image pouze z balicky je dobry na vyvoj a mountovat git repository. Pro produkci ne, nemusis trefit kombinaci verzi. Velke to nebude, nebo bych se tim v dnesni tobe netrapil. Docker je chytry v tom, ze funguje jako git. Pokud RUN byl stejny v predchozim buildu, tak to pouzije z nej. Vpodstate pak zalezi na poradi v Dockerfile jak to ve vysledku bude velke. Co se nemeni dej na zacatek, co se meni tak jako posledni. Promazat vzdy cache package managementu atd.
    Ad prostredi. Vetsinou se to jede bud pres environment variable nebo mountujes config file. Aplikace bud pouziva ten config, nebo bere z environment, nebo je CMD nastaven na script, ktery z environment vezme promenne a da je do config souboru a pak spusti aplikaci.

    b) Vytvor vzdy image s cislem verze application:1.2.3 a pokud je to aktualni tak i jako latest. Pokud delam balicky pro test prostredi co nepujdou do produkce, datam jim jako verzi timestampu. Ty se pak treba po par dnech mazou.

    c) pokud je to vic technologii, tak bych spolecny base nedelal. Prijdes presne o vyhodu toho co je hotove. To uz bych do toho zapojil treba ansible. Takze budete mit base pro javu ktery vychazi z oficialni Java a prvni command je zavolani nejakeho vaseho base scriptu. Vlastni base je dobry kdyz mas cas to vyladit, vse postavis treba na alpine, vsude mas tooly co pouzivate a na tom delas uz ty drobnosti jako java, apache,... Ale zabere to hodne casu, ve vysledku budou mensi a budou vam vic sedet. Oficialni image maji kazdy jiny pristup jak se configuruji, coz pridava nutnost znat jak ktery funguje, vlastni si udelate at jsou vsechny stejne. Ale neresil bych, hlavne ne takhle na zacatku, pokud teprve s tim zacinate.
    URPUTNIK
    URPUTNIK --- ---
    ahoj, mel jsem zkusenost s dockerem z predlonska, ale tam bylo ciste uzivatelsky .. konecne jsem se dostali k virtualizaci v praci, takze procitam a studuju a rozvazuju, co pro nas plati a co ne ..

    zatim mam napriklad takovehle otazky, ale je mozny ze to spis patri do continuous-delivery klubu

    a) image, ktery bude obsahovat jen "engine", ale aplikaci nahravat az v ramci deploye (u nas napriklad image jenom s tomcatem, pres volume napojit adresar, do nej bude CI sypat aplikace a odkud si bude tomcat spoustet), nebo muzu rovnou balit aplikaci do image, cili pak staci jen nastartovat image a budu mit jistotu ze mi v produkci bezi identicke sestaveni jako treba v testingu..
    zatim se klonim k druhe variante (videl jsem ji z uzivatelskeho pohledu), ma to pro mne 2 hacky - konfigurace pro prostredi musi byt mimo aplikaci (jinak nemuzu pouzit stejny image pro ruzna prostredi), druhak to bude asi docela zrat misto, ne? pokud mi nekde sedi CI server, ktery bude po kazdem commitu buildit aplikaci a vyrabet novy image (ktery obsahuje danou aplikaci & tomcat & javu & alpine :) )? predpokladam ze obvykle je ty stare mazat?

    b) jak oznacujete ten validni image, co vypadnul z CI (tzn treba prosel aut. testy a testovacim deploymentem), pres tag latest? nebo ho radsi nepouzivate (viz duvody) a mate treba nejaky specialni vlastni?

    c) nasel jsem nekde doporuceni, aby vsechny nase image pouzivaly stejny base image .. nejak si nedovedu predstavit, co to znamena pro nas, protoze krom nekolik ruznych jav (takhle se to asi nesklonuje co :) ), tu mame nejaky php, nejaky python, .. pokud budu vychazet ze stejneho base-image, tak se nemuzu oprit o uz hotovy kontejnery, napriklad s java+tomcat, apache+php php a budu si je muset vsechny poskladat rucne.. mozna se to da obejit nejaky dockerfilem, ktery bude fungovat jako wrapper kolem libovolneho jineho (patrne urceneho pres promenne, jestli se teda daji pouzit ve FROM)? nebo mit rucne poskladany image neni takovej problem? mi to prijde jako ze vymyslim kolo ..
    ADM
    ADM --- ---
    SH_PANDA: pokud tam posilas co musis, tak neni zbyti, ja spis poukazuji na to, ze se posila cely adresar kde je umisteny dockerfile, coz muze byt mnohem vic nez je nutny. asi proste predpokladaji, ze dockerfile je umisteny vzdy v rootu projektu
    SH_PANDA
    SH_PANDA --- ---
    ADM: no je, pac pres ADD pridavam instalacky Oracle Database 18c EE. Kdyz tak presmyslim, mozna bych jem mohl dat do volume, ktery bych pripojil a tak bych pres ADD posilal jenom shell scripty + response file.
    ADM
    ADM --- ---
    SH_PANDA: on ten docker build je trochu neintuitivni v tom, ze posila docker daemonovi _cely_ aktualni adresar, i kdyz mas v dockerfile jen ADD subdir (tzn. "docker build -t image:tag -f dockerfile ." misto toho aby si precetl co je v dockerfile za ADD, tak posle vsechno). zkontroluj si jestli to neni tenhle pripad
    SH_PANDA
    SH_PANDA --- ---
    da se nejak urychlit "Sending build context to Docker daemon"? intermediate fs layers su nacacheovane, jenom tenhle prvni krok trva debilne dlouho. neco mi rika, ze je to tim, ze jsem na macOS a Docker nebezi nativne. :-/
    NIXIMOR
    NIXIMOR --- ---
    DWICH: je to sice OT, ale z me zkusenosti nejvetsi problem pri soubeznem provozu Hyper-V a VirtualBoxu je v tom, ze VirtualBox potom nedokaze spustit 64bit system, dovoli jen 32bit.
    DWICH
    DWICH --- ---
    RUDOLF: AFAIK kdyz jede clovek docker na windows nativne pres hypervizor, tak pak k tomu hypervizoru nemuze virtualbox, tzn bud a nebo. Nezkousel jsem, jestli by to nekdo chtel provozovat, doporucuju tohle zjistit.
    RUDOLF
    RUDOLF --- ---
    OMNISLASH: Když upgradneš domácí win na pro, můžeš jet “nativně” přes wokkeního hypevizora. Nemám to ještě otestováný, tak nevím o kolik je to lepší než cesta přes virtual box.
    INDIAN
    INDIAN --- ---
    OMNISLASH: pro me za me si to rozjed treba na herni konzoli. asi sem natvrdlej a ten tvuj dotaz s tim jedinym nabizenym resenim sem asi nepochopil, proto sem nabid "obvyklou" alternativu...
    à propos, ja taky pracuju v dost specifickym prostredi, standardnim resenim se musim kolikrat vyhejbat obloukem a plno veci musim delat dost krkolomne, nicmene kdyz se na neco ptam, tak aspon uvedu proc to nejde ... aspon mi to tak teda za ty leta na vselijakejch forech (stackoverflow, atp.) prijde, jinak relevantni odpoved nikdy nedostanu... nehledej za tim nyx, radoby chytrejch rozumbradu jako ja sou plny internety, jestli to tak chces slyset :)
    MORTAELTH
    MORTAELTH --- ---
    Uz asi odbocuju od dockeru, ale.. Azure ted ma ty "B" stroje. Asi zkratka pro batch nebo boost. Strada se vam vykon (ve forme kreditu) ve chvili kdy se stroj plne nevyuziva. A az se zacne vyuzivat, odecitaji se kredity. Pro stroje ktery jsou zapnuty a cekaj nez si s nima bude nekdo hrat taky dobry. Nebo pro nejaky cron tasky.
    OMNISLASH
    OMNISLASH --- ---
    ADM: diky. tohle info me uplne minulo a je to asi presne to, co jsem potreboval vedet. ergo libovolne zelezo s dostatecnou silou bude stacit

    DWICH: takze (byt to dle predchoziho asi neni stejne potreba), ta podpora tam je. diky. na dalku se k tomu budu pripojovat max proto, abych si ten model prace vyzkousel a dobre se naucil na dalsi nasazeni. jinak to bude fyzicky tady u me pod stolem s klavesnici, mysi a vystupem na dva monitory, s normalnim desktopem nad ubuntu

    INDIAN: nic ve zlem, ale tohle je takova trochu nyxi reakce. ptam se, zda je chutnejsi ipa nebo apa a dozvim se, ze mam radeji pit mineralku. ja to ale tak, jak to popisujes, nechci. mam k tomu vice duvodu a prijde mi popravde zbytecne to rozebirat, dotaz preci smeroval jinam

    INDIAN: my si asi uplne rozumet nebudeme :) ja v tom svem postu jasne pisu o variante bez os, ergo ne, nemas tam widle, ktery sou pro tenhle pripad absolutne k nicemu
    INDIAN
    INDIAN --- ---
    RATTKIN: me prijde v tomhle pripade ta kraksna z czc jako predrazenej kram pro tohle uziti ... navic je to desktop s widlema, ktery tam sou pro tenhle pripad absolutne k nicemu.
    jak rika MORTAELTH kdyz uz to neni treba, zahodis to a nazdar... vyskocil na me v googlu prvni OVH, 266 Kč s DPH / mesicne za 6GB RAM/25GB disk....
    tudiz jestli pocitam dobre, tak se to pridavny topeni do kanclu vrati za 6 let :)

    MORTAELTH
    MORTAELTH --- ---
    na nejaky svoje uceni je ten IaaS / IaaC mode super. Vytvoris, delas si na tom kraviny, testujes, rozboris, smazes. Potrebujes vetsi vykon, nebo mensi? No problem..
    A pri nastaveni vypinani na noc/vikendy nebo predplaceni na 1 - 3 roky ...

    ale at si kazdy posoudi co mu sedi lepe, at uz filozofii nebo cenou.
    RATTKIN
    RATTKIN --- ---
    když jsem počítal hardware pro náročné ERP aplikace, tak to v cloudu vyšlo vždycky tak drahý, že se vlastní server vrátil nejpozději druhý rok. Pokud to železo celé využije, a nebo už má serverovnu a lidi k tomu, tak koupit server.

    Pokud to bude využité na 0,1 nebo se nechce učit milion nových kravin s linuxem (yay!) tak by asi bylo lepší v čoudu
    MORTAELTH
    MORTAELTH --- ---
    nebo azure / aws

    azure ma cca 50% vsech bezicich VM linux
    INDIAN
    INDIAN --- ---
    OMNISLASH: nak sem nepochopil co je to za aplikaci, webova? nebylo by v tom pripade jednodussi si na to vosefovat nakej VPS? za 5 min bys ho mel k dispozici od jakyhokoli providera... objednavat zelezo pro tyhle ucely mi v tyhle dobe prijde uz vic nez drbani levou nohou za pravym uchem.
    pokud mas svuj desktop na widlich, tak staci si ho pak jenom zpristupnit pres ssh a nakej gui jako treba winscp ti umozni ty zdrojaky synchronizovat pokud ses zvyklej na naky svoje IDE.
    DWICH
    DWICH --- ---
    OMNISLASH: Jestli se k tomu budeš připojovat na dálku z příkazovky, tak nepotřebuješ ani tu druhou grafickou kartu, v popisu mají psanou "grafická karta Intel HD Graphics". Ušetřený dva tisíce :) K serveru, o kterým píšeš, se taky počítám nepřipojuješ ke grafickýmu rozhraní na monitoru, ale z příkazovky.

    Virtualizace - stačí dát typ procesoru do googlu, vyjede ti na prvním místě web intelu, kde u něj jsou vypsaný jednotlivý vlastnosti a virtualizaci má. Tyhle typy procesorů ji měly už před aspoň šestli lety
    Intel® Core™ i5-7400 Processor (6M Cache, up to 3.50 GHz) Product Specifications
    https://ark.intel.com/products/97147/Intel-Core-i5-7400-Processor-6M-Cache-up-to-3-50-GHz-
    ADM
    ADM --- ---
    OMNISLASH: docker v nativnim linuxu zadnou virtualizaci nepotrebuje. jen na windows, protoze bezi pres hyper-v virtualizacni vrstvu na nejakym orezanym linuxu distribuovanym s docker for windows, a nebo rovnou linux docker ve virtualboxu. na macovi to bude hadam uplne to samy.

    dockerizovany applikace jsou linuxovy binarky, takze na non-linux OS je mozno je bezet pouze pod virtualizaci
    OMNISLASH
    OMNISLASH --- ---
    ahoj,

    kdyz je tu rec o tech masinach, potreboval bych poradit. podedil jsem appku. asi 7 kontejneru, nodejs, python, mapserver,.. na w10home se mi nepovedlo rozjet to v dockeru uspokojivym zpusobem. sahnul jsem pro to po variante w10home -> virtualbox -> ubuntu -> docker. jde to, ale dre to. hodne :) uziti je dost nepohodlne a rychlost jak na vyvoj, tak na praci s appkou (pri vyvoji a zkouseni) je tragicka. tj. funguje to, ale uz toho mam vazne plne zuby. takze jsem se ve firme dohodl na nakupu stroje pro me pro tenhle projekt. mno a ted resim, co by to melo byt :)

    ten server je aktualne nakonfigurovan na 4GB a funguje to. tj. predpokladam, ze 16GB u fyzickeho stroje by melo byt ok. ve sve masine mam i5. na vice mistech jsem cetl, ze docker vyzaduje podporu virtualizace, ale nevim, zda konkretni stroj, co jsem nasel, neco takoveho zvlada. soucasne me prekvapuje, ze to zvlada ten virtualbox, pokud je to opravdu vyzadovano

    myslite, ze neco takoveho je ok? jel bych na tom opet ubuntu

    (ve stavu:
    - bez os
    - 240GB ssd
    - ta ticha 1030 grafika (hadam, ze dva monitory by to melo zvladat)
    - crucial 16GB)

    Adam Novotny
    https://www.czc.cz/czc-konfigurovatelne-pc-office-core-i5-cerna/221222/produkt

    hlavne asi jak je to s tou nutnosti podpory virtualizace x danym cpu
    DEFILA
    DEFILA --- ---
    INDIAN:
    mno, me pochopeni k pochopeni vseho pomohlo az LXC, a to jsem s Dockerem zacal kdyz zacinal, az pri buildeni vlastnich rootFS pro LXC jsem pochopil kontejnery (a ac mam go rad, tak jsem nepotreboval go runtime : ) )
    Kliknutím sem můžete změnit nastavení reklam