• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ALMADDocker a kontejnery
    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...
    JON
    JON --- ---
    Je to presne jako u vyvoje - vec ktera nejde otestovat je rozbita. Pokud nedokazes otestovat deployment - je rozbitej. Tolik k tomu, ze se neco bude delat jen jednou. :-)
    FALLENANGEL
    FALLENANGEL --- ---
    Ten mindset shift je s kontejnerama znacnej a do jisty miry je to o akceptovani 'pet vs. cattle' principu. Ne jenom co se tyka provozu aplikace, ale environmentu celkove. V posledni dobe vidim trend kdy zakaznici i k samotnejm kontejnerovejm clusterum (Kubernetes, OpenShift,...) pristupujou jako ke cattle. Neco se podela pri upgradu? Smazat cluster, spustit playbook a za chvili je vsechno vyreseny. Velky aktivni dev prostredi? Kazdej vikend smazat, spustit playbook a za chvili uz engineering deployuje z gitu do cistyho clusteru.
    GIOMIKY
    GIOMIKY --- ---
    INDIAN: Nejsem na to kovanej expert, sorry za nepresnosti. Zajimalo me, jestli je to k necemu dobry.
    MARTEN: Myslim, ze uz bez dockeru nejak doziju.
    INDIAN
    INDIAN --- ---
    GIOMIKY: mozna si nejdriv over fakta nez neco podobnyho napises ;)
    Docker Desktop WSL 2 backend | Docker Documentation
    https://docs.docker.com/docker-for-windows/wsl/
    (moji widloidni kolegove docker ve WSL normalne pouzivaj)
    MARTEN
    MARTEN --- ---
    GIOMIKY: jestli myslis wsl, tak je nejak podporovane. Relativne kratce. Vic moc nevim, MS nepouzivam uz strasne dlouho
    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.
    MARTEN
    MARTEN --- ---
    GIOMIKY: Na kazdem VPS jedu docker, nic jineho uz neinstaluju a je to lepsi a lehci nez instalovat balicky.
    A k prenaseni, muzes pak rozchodit swarm, k8s apod. a klidne mit rovnou ty data replikovany a nic nemuset resit.
    Jinak docker ma i image na zalohovani, staci pak spustit `docker run backup-image....` a jen poslat ktery image a ktera data.
    Kliknutím sem můžete změnit nastavení reklam