• ú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í
    ADMIX
    ADMIX --- ---
    ICARUS: 20MBps z S3 je brutalne pomaly, S3 bezne dava >200MBps a teoretickej limit je vpc connectivity. To je nakej limit docker pull? Jestli jsi je tahal z S3 anyways, tak co to stahnout na lokalni disk pres normalni GET, jestli to nebude rychlejsi?
    KAPLIK
    KAPLIK --- ---
    ICARUS: Pokud se ta image tak casto nemeni, tak by si vyrabel custom image pro ec2/eks, kde by byla predcachovana, tzn by se nemusela cela tahat z docker registry, pripadne by se treba stahnul jen nejnovejsi layer (ale tam uz zalezi proc je ta image tak velka a co se v ni meni).
    Takto je to treba vyreseny na AKS (azure) worker nodech, kde os image obsahuje nacachovane image kontejneru ktere tam bezi by default, aby se furt vsechno nestahovalo.
    JON
    JON --- ---
    ICARUS: resilli jsme neco podobneho - u nas bylo resenim zmensit image, data z nej vyhazet uplne, a pro stahovani dat jsme udelali spesl sluzbu. V kazde geolokaci nam bezi jedna instance te sluzby a prubezne docachovava data z "centraly". Kdyz v lokaci startuje nova sluzba co ootrebuje ty data, tak je stahuje z prislusne geolokalizivane sluzby-cache.
    Nas usecase je odlisny v tom, ze neresime start/restart vsech stroju najednou.

    To co popisujes ty by jeste slo resit tak, ze se to stahne jednou na jeden stroj, ten to pak nakopiruje idealne nejakym dd na dalsi a tak dal - trochu zalezi na tom jak moc jsou ty stroje vzdalene. To se teda blbe dela s imagem, takze bych taky zacal zmensenim image a separaci dat ven.

    Pokud to co dela ten image velky nejsou data, tak blby no.
    ICARUS
    ICARUS --- ---
    Jak byste řešili situaci, kdy máte velké množství (třeba 64) strojů, které si najednou potřebujou stáhnout docela velký image (10GB)? Stroje se spawnují ondemand a po ukončení výpočtu zase zmizí, takže se ty image na ně těžko dají přednahrát. Všechny ty stroje jsou v jedné privátní síti a v AWS cloudu.

    Zkoušel jsem použít AWS ECR, ale pull je příšerně pomalej (10 MB/s). Ty stroje si ty image potřebujou stáhnout co nejrychleji. Zatím jsem koukal po Kraken od Uberu, ale vypadá to jako lehce abandoned projekt a nevím, jestli se mi chce setupovat tak složitej traktor. Pak jsem taky zkoušel vlastní Docker registry s S3 backupem, ale to dávalo "jen" 20 MB/s pull. Na tohle už přece musí být nějaké rozumné řešení, ne?
    REFLEX
    REFLEX --- ---
    MLEKAR_STEIN: to neni spatny napad
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    osobně se kloním k tomu, mít normálně vlastní registrovanou doménu a mit lokálně nějakou subdoménu pro tyhle účely, na kreré si budu dělat různé vylomeniny.
    nez řešit nějaké loxal, svc, srv.
    RUDOLF
    RUDOLF --- ---
    REFLEX: to je milé;-)
    REFLEX
    REFLEX --- ---
    Jinak nejake vychytavky ze sveta dockeru? Ja si zvykl pouzivat https://github.com/jesseduffield/lazydocker
    REFLEX
    REFLEX --- ---
    JON: jezis no jo vlastne, tak pojedu .localhost nebo .loc
    JON
    JON --- ---
    REFLEX: to bych nedoporucoval, od nejaky doby je .dev regulerni top level domena: https://en.wikipedia.org/wiki/.dev
    pekne curacky rozhodnuti, co vam budu povidat
    REFLEX
    REFLEX --- ---
    VELDRANE: to je zajimave, tak mozna prejdu na .dev :D
    VELDRANE
    VELDRANE --- ---
    REFLEX:

    matne si ted vzpominam, ze tak cca 5 let zpatky, zacal bejt problem s domenama .local kvuli naky srajde v networkmanageru. Taky sem na to narazil, tenhle suffix byl kdysi doporucovanej pro lokalni domeny v ramci AD a ja to pak uz ze zvyku cpal vsude. Bylo z toho tenkrat z my strany ooavdu velky mrzeni a nasrani. Issue je popsama treba zde:

    Name Resolution Problems with ".local" Domains | Support | SUSE
    https://www.suse.com/support/kb/doc/?id=000016445
    MARTEN
    MARTEN --- ---
    REFLEX: osobne pouzivam *.vcap.me, vse smeruje na localhost a nemusim resit hosts. V kontejneru pak lezu podle nazvu containeru, takze treba na mysql. A pokud potrebuju neco manualnejsiho, tak je tam parametr extra_hosts
    REFLEX
    REFLEX --- ---
    DANIELSOFT: no jsem z toho zmateny, nechapu ze to tedy predtim slo :D (a bohuzel nemam moc cas to resit)
    DANIELSOFT
    DANIELSOFT --- ---
    REFLEX: bez toho, že zadáš "--network host" to /etc/hosts z hosta nebere

    můžeš vytvořit či modifikovat /etc/hosts uvnitř kontejneru nějak ručně (třeba echem) pokud ti nevyhovuje zadat "--network host" u Dockeru
    REFLEX
    REFLEX --- ---
    REFLEX: coz asi by default nedela, tak nechapu proc to najednou nejde :D
    REFLEX
    REFLEX --- ---
    Upgradoval jsem ubuntu na 22 na stroji na praci a prestal mi fungovat v kontejneru resolve na http://mujvyvoj.local/ coz smerovalo na muj stroj

    Tedy mel jsem v /etc/hosts zaznam a ten se nejak by default propisoval i do kontejneru, ale po upgradu to nejde, nevite co s tim?
    QWWERTY
    QWWERTY --- ---
    MORTAELTH: ad zestihlovani base image

    Using Alpine can make Python Docker builds 50× slower
    https://pythonspeed.com/articles/alpine-docker-python/
    MORTAELTH
    MORTAELTH --- ---
    nejlepsi na zrychleni buildu je zestihlit baseimage a nasledny pridavky do nej :) Jasny, ne vzdycky to jde, ale dat si "distroless" base image je dobry cil :)
    SH_PANDA
    SH_PANDA --- ---
    SH_PANDA: jsem vul - --add-host v docker build. ted uz jenom vyresit docker run - tam musim tu IP adresu :-/
    SH_PANDA
    SH_PANDA --- ---
    potrebuju zrychlit build kontejneru - velky context, caste rebuildy, tisice npm balicku.

    rozjel jsem si apt cacher https://docs.docker.com/samples/apt-cacher-ng/ a npm registry proxy ve https://verdaccio.org/docs/what-is-verdaccio v nejakem svem "registry cache docker compose" a ted bych je chtel pouzit v buildech kontejneru.

    zatim to resim pres ARG do ktereho poslu IP adresu docker hostu (ip addr show docker0)

    ale to mi prijde jako malo robustni. neresil jste to nekdo?
    VELDRANE
    VELDRANE --- ---
    Ahoj,
    je nejaka cesta treba pres pluginy jak rozsirit built in variables v Helmu ? A ted nemyslim pres samotny _helpers.tpl ale nakou casti kodu, ktera mi bude zavola nejakej command a na zaklade jeho vystupu mi nastavi nejakou buil-in promenou kterou pak se pak pouzije v nejake template ? Priklad:

    Mame k8s clustery, ktery maj ruzny verze a nak tery se ruzny aplikace instalujou jinym stylem. Potrebuju zjistit treba pres kubectl co to je za cluster a na zaklade neho si vyplnit promenny ohledne lokace image a dalsi veci. Myslel sem ze by to mohlo jit pres pluginy, ale z tech prikladu mi prijde ze ta ficura je pro neco uplne jinyho nez potrebuju.

    A dotaz cislo dve. Jde nejak bez nejakejch externich obezlicek vyplnit release.version na zaklade toho co je v gitu ?
    JON
    JON --- ---
    ADM:
    MLEKAR_STEIN:
    Dekuju za rady - zvysil jsem ty max pull a max push, pridal delsi timeout pro docker-compose a situace je vyrazne lepsi (i kdyz ne 100% dobra).
    Porad se obcas nektery docker-daemon zasekne na tom pushovani, ktere nemuze uspet, ale je to vyrazne vyrazne min - tj ted uz si dokazu predstavit, ze pro tuhle eventualitu tam budeme mit nejakej automatickej restart - a jeste zkusim trochu potunit ty parametry, aby to bylo ok.
    Kliknutím sem můžete změnit nastavení reklam