• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ALMADDocker a kontejnery
    WOODMAKER
    WOODMAKER --- ---
    REFLEX:
    $ docker run --user $(id -u):$(id -g) ubuntu ls

    Akorat ten user pak uvnitr neexistuje, tak nefunguji veci jako $HOME a tak. Ale s absolutnima cestama by se mely vytvaret soubory se spravnym uid a gid.
    RAGNAROK
    RAGNAROK --- ---
    REFLEX:
    v hostovym systemu pridat nonroot usera do skupiny docker.
    v image (dockerfile) vytvorit nonroot usera se stejnym jmenem a id.
    akorat pak image musis buildit pro kazdyho usera zvlast.
    INDIAN
    INDIAN --- ---
    REFLEX:
    $  sudo usermod -aG docker $USER
    REFLEX
    REFLEX --- ---
    Jak se ma spravne nastavit docker, abych ho nemusel poustet jako sudo a v containeru nebyl problem s pravy a container na pripojenych souborech nevytvarel soubory pod rootem? :)
    GIOMIKY
    GIOMIKY --- ---
    ADMIX: Odstrasujici priklad!
    ADMIX
    ADMIX --- ---


    to nejak neodpovida na otazku proc bys delal to co delas, ale v tom puvodnim prispevku nevidim otazku - resis neco, nebo ses chtel jen podelit o zpusob jak neco nedelat? :D
    GIOMIKY
    GIOMIKY --- ---
    INDIAN: no vidis, zapomnel jsem to nejdulezitejsi...
    $ cat ~/.ssh/config
    Host dokrhost
      HostName 172.17.0.1
      User user
      Port 22
      ServerAliveInterval 60
      LocalForward 127.0.0.1:8080 127.0.0.1:8080
    ... Diky
    INDIAN
    INDIAN --- ---
    GIOMIKY: mozna bych ti pro zacatek odpovedel otazkou - k cemu potrebujes ssh v kontejneru ?
    GIOMIKY
    GIOMIKY --- ---
    Dalsi z cyklu, jak nepouzivat Docker. Tedy mejme Dockerfile. A predpokladejme, ze nechci pouzit presmerovani portu, protoze mi to zasahne do iptables a to se mi nelibit. Tak jsem dosel k reseni, kdyz si presmeruju pres ssh port a potom, napriklad, pristupuju na svuj pypi server.
    Neco jako:
    ...
    RUN nohup bash -c "/usr/bin/autossh -o "StrictHostKeyChecking=no" -M 0 -N -q dokrhost &" && pip3 install --force-reinstall --trusted-host 127.0.0.1 --index-url http://127.0.0.1:8080 myfancypkg
    JON
    JON --- ---
    Mam dotaz k ArgoCD - nevite nekdo o tom, jak/jestli tam jde udelat nejaky transformacni krok mezi repositarem podle ktereho syncuje a tim podle ceho syncuje?
    Treba slej helmcharty z N adresaru v tom repu dohromady, naaplikuj na to nejake templatovani apod.

    Samozrejme to jde udelat stylem: push do repositare A -> tam se pusti CI job, ktery provede ty transformace a pushne to do repositare B -> a podle repositare B to Argo vydeployuje. Ale moc se mi to takhle nelibi.
    JON
    JON --- ---
    MAJA: coz vo to, docker to ma zmaknuty dost dobre, ale lidi jsou kreativni :-)
    MAJA
    MAJA --- ---
    MLEKAR_STEIN: díky za postřehy ...

    čekal jsem, že to má docker nějak zmáknutý - nějaký docker backup/docker restore ale nic moc
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    MAJA: zkontroloval bych

    1. jestli někdo neudělal symlink na
    /var/lib/docker případně na některé adresáře v něm. typicky jsem viděl symlink na /var/lib/docker/volumes kterej ukazoval někam na nějaký ssd disk
    2. podíval bych se do /etc/fstab, jestli není na.výše uvedené adresáře udělaný bind
    3. podíval bych se do lokální konfigurace systemd, která je někde v /etc jestli tam někdo néco vesele nepřenastavil.

    specielně bod 3 je docela zákeřný a umí potrápit stylem "jaktožesetopouštístímdleparametrem"

    ještě bych zkontroloval, jestli nějaký kontejner si nevyrábí nepojmenovaný volume pomocí direktivy v dockerfile. a nepoužívá to někdo jako že v tom má data
    viděl jsem takhle provozovaný postgres, kde po restartu se vývoj divil, kam jim zmizely data a že to musej pořád obnovovat.
    VELDRANE
    VELDRANE --- ---
    MAJA: jaky je problem si udelat male PoCko, kde vezmu images, prekopiruju je na cilovyc stroj, udelam kopii volumes za zaloh a predhodim to par testovacim uzivatelum pod jinou ip at mi otestuji zakladni funkce ?
    MAJA
    MAJA --- ---
    INDIAN: něco takového mám v plánu (myslím, že ani lidi vývojáři co to používají neví 100% co tam jak má být/je :-)

    ve /var/lib/docker jsou všechna data ? vč. volumes a sítování ?
    INDIAN
    INDIAN --- ---
    mno vono pokud clovek prijde k serveru kde bezi nezavisle na sobe nahodile nekolik kontejneru bez jakykoli spolecny deklarace, tak je prekopirovani natvrdo /var/lib/docker asi nejspolehlevejsi volba... jak sdelje zde MAJA - je treba na novym serveru nainstalovat stejnou verzi, nastavit pripadne dodatecny personalizace v daemon.json, stopnout vsechny kontejnery, zastavit na obou strojich docker.service a prekopirovat ze staryho zminenej obsah + samozrejme i veskery volumes ...

    ale samozrejme souhlasim, takhle by se to delat nemelo a pro budouci upravy by to melo bejt na novym stroji nainstalovany nejlip pomoci nakyho centralniho CI nastroje nebo orchestratoru.
    MAJA
    MAJA --- ---
    SH_PANDA: díky, vyzkouším ...
    MARTEN
    MARTEN --- ---
    HOUMLES: Jasne. Jako 99% procent volume mam v adresari projektu, aby se dobre kopirovalo. Ale historicky neco zustalo takhle blbe. Ale co jsem presouval ted, tak jen tarnul adresar s projektama, prekopirovat a vsude jen up. Jinak /var/lib/docker/volumes stejne ma jen ty. Ostatni adresare nepocitam, pokud existuje aspon compose.
    Ten mam rozchozeny kubernetes, tak jsem zvedav jak to pujde tam, az se budu zbavovat jednoho zeleza
    Kliknutím sem můžete změnit nastavení reklam