• ú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í
    HOUMLES
    HOUMLES --- ---
    GIOMIKY: docker a iptables je hell, protoze docker default prevezme kontrolu nad iptables a dela si tam vlastni chainy, forwardy apod.
    mas dve moznosti:
    nechat mu ty iptables a prizpusobit se jeho chainum
    vypnout spravu iptables dockerem, ale pak si musis resit vsecky forwardy sam (a neni to jenom o forwardech)
    ADMIX
    ADMIX --- ---
    GIOMIKY: uz to ze sahas na docker iptables rucne znamena ze to delas blbe :))
    GIOMIKY
    GIOMIKY --- ---
    MUXX: Uprimne uz jsem si zabuldil dost a tednbych to taky rad pouzival. Ale asi neco delam blbe. Hlavne mi zlobi sit. Kdyz upravim iptables pravidlo, tak musim provest restart docker procesu, aby mi zase zacalo kontejneru fungovat tcp.
    MUXX
    MUXX --- ---
    MUXX: Misto docker commit mas mit dockerfile a delat “docker build”
    MUXX
    MUXX --- ---
    GIOMIKY: Ty s tim porad pracujes jak s virtualkou. S tim musis pracovat jako s gitem. Zkus se na ten tvuj image podivat pres https://github.com/wagoodman/dive . Treba ti ty vrstvy zacnou davat smysl.
    Kdyz udelas mv neco na volume, tak se ti to nemuze zmensit. Jenom se v tom commitu oznaci soubory za smazane/schovane. Z gitu taky nic nesmazes. Proste pokazde kdyz udelas “docker commit”, tak to znamena(az na vyjimky), zes docker porad nepochopil.
    RUDOLF
    RUDOLF --- ---
    GIOMIKY: Jj, to je běžný, že si člověk projde několik slepých uliček, než zjistí že měl na začátku chybnou představu a pak na to jde lépe.
    GIOMIKY
    GIOMIKY --- ---
    jj, mate pravdu,... kdybych vedel, ze mam namountovat fs, tak bych neinstaloval do kontejneru, kdybych vedel, ze rm neodstrani soubory, tak bych nedelal dump & pump, kdybych vedel, jak to naskriptovat, tak bych nemusel mit kontejner, ktery se mi nechce instalovat znova... mozms je nacsse zacit znovu od zacatku ;]
    HVJ3R
    HVJ3R --- ---
    GIOMIKY: Soubor izolovanych procesu (cgroups). A verzovany fs neni presne. Je to X overlayovanych fs. Proto taky nedava moc smysl je verzovat, natoz commitovat (nebo ty commitujes bindata DB?). Spravny postup je jak rika
    INDIAN plus pripadne multistage builds, to je velmi uzitecna vec, zde: RUDOLF. Ty k tomu pristupujes tak, jak nemas a tak te to logicky sere. Ale sroubovak nemuze za to, ze hrebik nema drazku.
    GIOMIKY
    GIOMIKY --- ---
    MARTEN: na host fs mam ted datove soubory database... v kontejneru mi bezi procesy... btw: jak jsem zjistil, tak docker je vlastne jenom soubor procesu bezici nad verzovanym fs
    INDIAN: no ted uz na to doufam nebudu muset sahnout... je pravda, ze kdyz zobrazuje docker images velikost, tak to je souhrna za vsechny rozdily od puvodniho image... takze kdyz ukaz 500 MB a puvodni image ma 300 MB, tak vlastne velikost toho 2. image je 200 MB... mozna se to da nekde docist, ale takhle na prvni pohled to neni uplne zrejme...
    INDIAN
    INDIAN --- ---
    GIOMIKY: kasli na dump a export/import ... pracuj pouze s Dockerfile s image postavenym na OS (nejlip alpine), data+nastaveni mej namountovany pres volume
    MARTEN
    MARTEN --- ---
    GIOMIKY: Jenom pises ze si presunul na hosta. To jsou nejake vygenerovane soubory jako treba data databaze? Kdyz to das na noveho hosta a nebude mit ty soubory, bude to fungovat?
    GIOMIKY
    GIOMIKY --- ---
    Dekuji moc,... mne na to zabralo nasledujici (jeste, nez jsem si precetl tvuj prispevek)...
    1) spustit docker kontejner z image
    2) konterjner zastavit (stop)
    3) docker export -o dump.tar <kontejner>
    4) kontejner prune (neni asi zapotrebi)
    5) docker import dump.tar repo:tag
    ... tim jsem z 500 MB udelal 300 MB ... zmensil o ty soubory, ktery jsem prenesl na hosta...
    a primountoval pomoci -v
    RUDOLF
    RUDOLF --- ---
    GIOMIKY: A tohle je rozhodně užitečné. V jednom image si připravíš build tools a vybuilduješ, výstupnou binárku si pak narveš do čistého image. Např.

    Use multi-stage builds | Docker Documentation
    https://docs.docker.com/develop/develop-images/multistage-build/
    RUDOLF
    RUDOLF --- ---
    GIOMIKY: nemůžeš odstranit data z vrstvy, kterou si už přikryl jinou vsrtvou.

    Best practices for writing Dockerfiles | Docker Documentation
    https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
    RATTKIN
    RATTKIN --- ---
    GIOMIKY: jo ale to je starý. Kolik fatálních bugů bylo v ostatních ekosystémech tento měsíc? Sám Microsoft by mohl povídat (spíš SAM😁)
    GIOMIKY
    GIOMIKY --- ---
    GIOMIKY
    GIOMIKY --- ---
    Aha, ok, dekuji moc. Myslel jsem si to. Jak jsem pochopil, tak kdyz pracuji na image a ulozim ho znovu, tak se ulozi rozdil od posledniho. A nejspise kdyz uz mam 3+ commitnuty image, tak to furt drzi vsechny predchozi soubory. Jeste jsem chtel vyzkouset export import, jestli bych nezmensil velikost image. Ale jak rikas, bude lepsi zacit znovu. Mam pri praci s dockerem tak trosku deja-vou, protoze dost casto opakuju postupy treba 3x. Ale o tom to asi je.
    RATTKIN
    RATTKIN --- ---
    GIOMIKY: já myslím, že image se má delat odznova, je to takový doporučený postup. Děláš to nějakým skriptem, ne? Tak tam tu věc co chceš dát pryč, příště nedávej.
    Asi to souvisí s copy-on-write
    RATTKIN
    RATTKIN --- ---
    GIOMIKY: ano, já to někdy s importem npm přehráním, ale co takový mapbox-gl ? Interaktivní 3d mapu bych neuměl naprogramovat ani za 5 let, ale implementace npm je na odpoledne
    GIOMIKY
    GIOMIKY --- ---
    adlastni kernel ksem kompiloval naposled pro 386tku..
    ad vlasrni auto... no funkci na zjisteni, jestli je cislo sudy si jeste misto importi npm knihovny napisu
    GIOMIKY
    GIOMIKY --- ---
    Jeste jeden nablblej dotaz. Fak jsem zkousel hledat odpoved. Bezvysledne.
    Mejme image. Ma 500 MB. Namountuju pomoci -v adresar host. Provedu mv cca 200 MB z konteineru do adresare. du -hs ukazuje, ze v konteintou, adresari je 5 KB... tedy vsech 200 MB jsem presunul na fs hosta. No a pak provedu commit... a ten image ma furt 500 MB... ?! ... je to mozny? Nebo mam nekde chybu v postupu. Jinak s primountovanym adresarem to funuguje bezva... akorat nevim, jak shrinknout image... nebo se mi ty soubory nepresunuly? Ale to by potom nefunguvalo touch 1 v tom adresari na hostu, aniz by se nezobrail v konteineru. Filesystem je urcite jinej, protoze df -h / dava overlay a mount /dev/sda1 ... takze urcite se to primountovalo... akorat je zahada, proc, kdyz presunu 200 MB dat na adresar hosta se nezmensi ten image pri commitu...
    Predpokladam, ze to bude nejaka blbost v postupu... nebo tak...
    dik
    KING
    KING --- ---
    ADMIX: pláču si tady do piva. Naštěstí ale jen v kontejneru, tak to snad na zbytek života nebude mít vliv. #dockerftip
    Kliknutím sem můžete změnit nastavení reklam