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 ..