• ú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í
    FALLENANGEL
    FALLENANGEL --- ---
    VELDRANE: 'Enterprises want to run Docker and they still have Red Hat 5 installed.' :D Nejsmutnejsi na tom je, ze je to pravda.

    Tohle video bych chtel ukazat kolegum, ale 50% z nich jsou nemci a tuhle hranici jsem se jeste neodvazil prekrocit :P
    VELDRANE
    VELDRANE --- ---
    Btw image z dockerhubu:

    Hitler uses Docker
    https://youtu.be/PivpCKEiQOQ


    Nejspis to tu uz bylo ale nedalo mi to :)
    VELDRANE
    VELDRANE --- ---
    Nahodou neni uplne od veci premejslet nad tim zda pouzit image treti strany (ofiko/dockerhub) a nebo si udelat vlastni.

    Casto se razi filosofie: Pokud je to v ramci naky subskripce (napr. ofiko redhat image) a muzu to pouzit tak pouzivam v prve rade tyto oficialni, protoze se takrka nemusim o nic starat mam krytou prdel.

    Na druhou stranu ne vzdycky mi takova image pokryva moje potreby, nemusi splnovat treba corporate standards (vetsina images je na postavenq na alpinu, co kdyz je jako corporate standard redhat nebo vlastni build image ?? ), muzu potrebovat moduly (treba nginx) ktery v ofiko buildu nejsou apod.
    Pak si vetsinou postavim image vlastni (klidne to muze bejt obslehnutej dockerfile, ale build delam u sebe). Je ale dobry mit vetsinou v tomhle pripade rozjetou i nakou tu infrastrukturu, kde tyhle image schranujes. Zkratka nejake lepsi repostiory jako je treba quay nebo harbour, kde delas security checky, hlidas jejich velikost pripadne dalsi parametry a to zda jsou company complaint. V tamci tehle build infrastruktury bys asi mel mit i nejake cemtralni repo pro artefakty - binarni casti buildu ktere ktere Tvuj build potrebuje a byly vytvoreny at v ramci nejakyho multistage neni nekym jinym v ramci firmy, ktere opet muzes prohnat proti bezpecnostnim chybam a nebo chybejicim standardum.
    GIOMIKY
    GIOMIKY --- ---
    no jo, kdyz ja to delam pro zabavu a ne pro profit... utloukam tim cas, tak me apt-get install maria nezabije.
    FALLENANGEL
    FALLENANGEL --- ---
    GIOMIKY: tohle je obecně problem a ne jenom v dockerhubu. Image se vytvoří, commitne a hotovo. A jak stárne, tak se proste objevuji diry. Tzn maintainer by mel udělat novou opatchovanou verzi a ty jako 'zakaznik' by jsi mel prejit na novej image. Zkus se dívat po datu. Stavět novej image s mariadb nemá moc valnej smysl, kdyz je ofiko image k dispozici.
    GIOMIKY
    GIOMIKY --- ---
    jj, tech 5 prikazu mi k zivotu staci. dekuji moc za pomoc.
    THEODORT
    THEODORT --- ---
    GIOMIKY: tim nemyslim ze bys byl nejakej hloupej nebo tak, jen to jsou image od lidi co maj proste +- podobnou uroven znalosti o dockeru jak ty, a tak tam maj napr. natvrdo vpaleny prihlasovaci udaje protoze jim to tak zatim pro jejich kuteni staci..
    GIOMIKY
    GIOMIKY --- ---
    jj, ne kazdy se narodi jako pocitacovy odbornik s mysi v kolebce.
    THEODORT
    THEODORT --- ---
    GIOMIKY: visjak, ono to vetsinove jsou image od lidi jako jsi ty
    RUDOLF
    RUDOLF --- ---
    GIOMIKY: známe, proto používáme ofiko repozitáře. Spoustu projektů si je šlechtí, dockehub má vulnerabity scanning out of box. A vždy si můžeš přečíst dockerfile, jak je to poskládaný. Většina věcí je postavená na nějakým ofiko OS image, nad tím si udělá instalaci závislostí pro svoji app. Mysql/Mária/postgres to budou imho takhle - používám ofiko postgres image s pár úpravama v našem repo, mám to proscanovaný od dockerhub a běží na tom produkční databáze.
    GIOMIKY
    GIOMIKY --- ---
    SUK: ok, zkusim. Obcas mi to zlobi. Treba kdyz ulozim obraz, tak mi prestane fungovat sit a takovy nejaky blbiny. Ale to bude tim, ze jsem lama.
    No nevim... ofiko obrazy mozna, balicky z ofiko repo jo, ale tohle znate, ze jo?
    https://www.root.cz/zpravicky/analyza-ctyr-milionu-obrazu-na-dockerhubu-odhalila-v-polovine-kriticke-zranitelnosti/
    MARTEN
    MARTEN --- ---
    GIOMIKY: Za mne zapomen na docker commit. Na zacatku nebyla jina moznost. Ted koukni na Dockerfile, at to automatizujes. Tam vyberes base image a jen napises co se ma instalovat a kdyz se pak image/container spousti, tak jaky je prikaz. Ale pamauj, ze do toho beziciho containeru se neleze pres ssh nebo neco jineho. Muzes, ale pristupuj k otmu jako k blackboxu.
    Priklad jak vypada oficialni mysql image https://github.com/docker-library/mysql/blob/master/8.0/Dockerfile.debian
    A za mne koukni i na ten docker-compose, je to lehci nez porad psat stejne parametry u docker run. Na zacatek muze byt o neco lehci, pokud je chces bezet a nejen buildit.
    SUK
    SUK --- ---
    GIOMIKY: Tak si vezmi dockerfiles jednotlivych imagu, na kterych to cele stoji a postupne zacni buildovat


    ...pokud teda veris cizim binarnim balickum. To kdyztak shanej i makefiles a mozna rovnou nastartuj vim a napis si databazi a kontejnery sam. Idealne i s kompilerem, ktery si zadratujes z tranzistoru na plosnak :D
    GIOMIKY
    GIOMIKY --- ---
    HOUMLES: Neverim image, ktery si sam nevytvorim.
    HOUMLES
    HOUMLES --- ---
    ty porad nechapes, ze to neni VM :)
    nepotrebujes instalovat debian a pak do nej mysql, stahni si rovnou mysql image a dej mu jeden statickej adresar do /var/lib/mysql
    GIOMIKY
    GIOMIKY --- ---
    # Posilam tahat pro zaklady prace s kontejnerem
    # vyved obraz kontejneru
    docker export <konteiner id> > file.tar
    # zaved vyexportovany obraz konteineru
    docker import file.tar deb:py
    # spust konteiner na pozadi a pripoj /home/user
    docker run -v /home/user:/home/user -d deb:py /bin/bash
    # zobraz bezici kontejnery
    docker ps
    # pripoj se k bezicimu kontejneru (spust v nem prikazovy radek)
    docker exec -ti <kontejner id> bash
    GIOMIKY
    GIOMIKY --- ---
    ... sry ... man docker-run ... me naucil ;]
    GIOMIKY
    GIOMIKY --- ---
    jj, ale ja to stejne asi pouzivam nejak uplne blbe... konteiner spoustim takhle:
    docker run -v /home/user/install:/root/install -i -t debian
    coz jak jsem se dozvedel z docker search debian ... by mel byt oficialni image z nejakyho to verejnyho zdroje... (coz mi pripomina, ze jsem cetl vysledek nejakyho vyzkumu, jak je 50% verejnych kontejneru zaneradenych a plny bezpecnostnich der?) ... no na kazdy pad ... chvilku pracuju... a pak dam napriklad:
    docker commit <id> vps/deb:python3.9.4
    Ale co potom.. kdyz chci treba nainstalovat mariu ... a vlozit do ni nejaky data... tak prima, zkusim si to, ... ale kdyz potom vyskocim z toho shellu, kterej se mi objevi, tak mi zmizi veskera prace ... a zase commitovat .. kdybych chtel, aby mi ten konteiner bezel dele ...
    nejak mi unika ta neperzistentnost, kdyz chci fakt nejaky data uchovat... ... tim, ze jsem si namountoval jeden adresar bych to vyresil, kdybych pouzival treba nejakej adresar se zdrojakam, ... ale to bych mel do toho mountu presunout veskery datovy soubory marie (databaze)?
    HOUMLES
    HOUMLES --- ---
    GIOMIKY: nejlepsi je na cely /var/lib/docker zapomenout, protoze tam fakt vubec nic rucne delat nemusis a ze zaloh to klidne muzes excludnout.. pokud to bude po restore systemu cely prazdny tak si docker sam zajisti co potrebuje
    GIOMIKY
    GIOMIKY --- ---
    A mate pravdu, ... chtel jsem novou vm na nejaky dalsi pokusy... a kdyz jsem do ni instaloval debian, tak mi to samy vyslo na 30 minut a pak jsem to vypnul, protoze to vyhodilo proc na 100% a kopirovani bylo strasne pomaly (v ramci vps)
    GIOMIKY
    GIOMIKY --- ---
    Hmmm... tak mi to nedalo... a myslim, ze jsem se ukvapil v usudku... ten "silenej" bordel ve /var/docker neni az ak zahadnej... mel jsem tam prilis mnoho konteineru, imagu atp. z jednoho z prvnich pokusu... kdyz se na to divam znovu, s cistou instalaci... tak jsem docela hezky prekvapen... ...
    ve /var/lib/docker/overlay2/<divny id>/diff (napriklad) je normalne filesystem... pri prvnim pruzkumu, kdyz jsem cistil disk jsem se dostal jenom do ... docker/overlay/diff a videl jsem tam ty "divny id" ... tak me to odradilo... myslsl jsem, ze tam budou nejaky krypticky soubory ... ale jak rikam, jestli jsou to normalni soubory tak super...
    Kliknutím sem můžete změnit nastavení reklam