• ú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 --- ---
    ADMIX: Napadlo me dat followup na moji puvodni otazku, postavil jsem par malejch rychlejch PoC na Consul+Nomad kombu (SDS/CDS) co jedu v AWS EC2, a musim rict ze ten suite je fakt dobrej. Pro velky komplexni operations bude mozna kubernetes lepsi, ale Nomad jako orchestrator je rozhodne konkurenceschopnej, a hlavne consul+nomad ve srovnani s etcd+kubernetes je vyrazne jednodussi na initial setup.
    Zacinam si ted hrat s tou druhou dvojici, abych to dostal do ruky, tak uvidime jaky budou dojmy z toho :))
    ALMAD
    ALMAD --- ---
    ADMIX: Je něco na consulu a vaultu co jste našli a nelíbí se vám? Oba bychom taky rádi.
    ADMIX
    ADMIX --- ---
    Zaujal me Nomad od Hashicorp, blby je ze od nich uz zkoumame consul a vault, treti produkt uz je podezrelej :D
    MUXX
    MUXX --- ---
    ADMIX: Mozna uplne mimo ale nedavno jsem narazil na toto: https://vmware.github.io/photon-controller/
    ADMIX
    ADMIX --- ---
    Existuje neco peknyho na jednoduchou orchestraci kontejneru pro small-scale systemy? Hlavni vyhoda kontejneru v soucasny dobe je deployment stategy, ale muze se stat, ze system skonci se dvema fyzickejma strojema (a mozna par VM na nich), malokdy se instalace dostavaj do vyssich desitek stroju. Vetsinou on-premise, bez internetu. Vsichni si chvali kubernetes, ale to je jako atomovkou na komara :)
    DRACUL
    DRACUL --- ---
    hadam ze init kvuli tomuto
    Docker and the PID 1 zombie reaping problem
    https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
    NIXIMOR
    NIXIMOR --- ---
    MARECEK: k cemu nejaky init? Udelej si jednoduchy shell script, kterej inicializuje prostredi a spusti binarku tve aplikace v popredi, tj neforkne do daemona, ale zustane po dobu behu aplikace blokovat konzoli, a tenhle script pak dej jako entrypoint toho dockeru. Nic vic delat netreba.
    MARECEK
    MARECEK --- ---
    jak resite spusteni nejakyho daemona po startu kontejneru v dockeru?
    mam jednu aplikaci co na beznym systemu startuje pomoci supervisiord a na dockeru se mi vubec nedari ji presvedcit aby nastartovala hned jak nabehne kontejner...
    Zkousel jsem psi kusy s dumb-initem ale proste ne a ne to tam natlacit...
    Ted jsem zkousel vzit ty relevantni casti s init scriptu a zkusit je primo natlacit tomu dumb-initu pres cmd ale taky nic a uz se v tom zacinam zamotavat...

    
    ENTRYPOINT ["dumb-init", "--"]
    
    CMD ["dumb-init", "opt/imm/.virtualenvs/imm_server/bin/activate"]
    
    CMD ["dumb-init", "/opt/imm/.virtualenvs/imm_server/bin/supervisord", "-c", "/opt/imm/imm_server/supervisord.cfg", "-u", "imm"]
    


    Muzete mi prosim nekdo poradit jak bud spravne zavolat ten init script kterej jinak bezi normalne z init.d, nebo jak tyhle startovaci commandy nacpat tomu dumb-initu?

    diky!
    UETOYO
    UETOYO --- ---
    NIXIMOR: Moc díky!
    NIXIMOR
    NIXIMOR --- ---
    UETOYO: V podstate si to predstavujes spravne, akorat pozor na databazi a perzistentni storage... resp. v tvem pripade asi idealne neperzistentni. Co jsou treba predpripravene image pro MySQL, tak maji data defaultne ve volume, takze zustavaji i mezi restarty kontejneru, coz v tvem pripade je nezadouci.
    UETOYO
    UETOYO --- ---
    Mám úplně začátečnickou otázku, která s tím asi souvisí. Chtěl bych vývoj založit jen na Dockeru. Představuji si to tak, že mám např. běhové prostředí (JVM, CLR) v jednom imagi a databázi v druhém. Tím se odstíním od jakýchkoliv závislostí na mém stroji. Image s databází používám tedy jen na integrační testy (ať už lokálně nebo na build serveru). Pokud potřebuji k vývoji více částí, použiji docker-compose. Představuji si to reálně? Můžu tím nahradit zcela Vagrant apod.
    THEODORT
    THEODORT --- ---
    VESNACH: duvod je pomerne prosty: vetsinou neni cilem dockerizovat databazi, jediny pripad ktery pamatuju byl beh testu aplikace s ruznymi db kdy jenkins pousti docker kontejnery napr. s Oracle a jinymi databazemi, kterymi si nechces zasirat vyvojove prostredi 24 hodin denne.
    k tvemu pozadavku: upravil bych si kontejner tak ze si pri startu pripoji soubor s sqlite db z hostitelskyho systemu nebo jineho sitoveho uloziste.
    DWICH
    DWICH --- ---
    Když jste u těch kontejnerů pro Django - nevíte o nějakym univerzálním kontejneru, kde by byl Python 3.x a zároveň Postgres 9.x? Tzn. kombinace těchdle dvou:

    Pro Python je: https://hub.docker.com/_/python/
    Pro Postgres je: https://hub.docker.com/_/postgres/

    Kdyby byl už nějakej hotovej, rozuměj - kdyby se už někdo staral o jeho vývoj/údržbu, nemusel bych se o to starat já a mohl bych používat. Případně díky za tipy, jak toho dosáhnout s minimem úsilí
    VESNACH
    VESNACH --- ---
    Container Hacks and Fun Images
    https://www.youtube.com/watch?v=1qlLUf7KtAw


    treba tahle pani v tom ma jasno, co vsechno "uklidit" do kontejneru.
    VESNACH
    VESNACH --- ---
    me slo v podstate jen o setup docker-compose pro django projekt s sqlite, nic vic :D vy do toho montujete nejaky fundamentální principy co vsechno dokerizovat a co ne. Co sem pochopil, tak image de udelat v podstate z cehokoliv, a nevidim duvod, proc bych nemel delat image z python appky, ke ktery pridam sqlite db... teda krom chyby docker-compose ohledne entrypointu, coz sem pochopil.
    NIXIMOR
    NIXIMOR --- ---
    SH_PANDA: Ano, to je urcite spravne, ale jak rikas, sqlite opravdu neni dobrej pripad, protoze proste nema tu binarku ktera ji zpristupnuje dal. Ma jen klientskou appku, ktera ti je ale z hlediska pouziti v nejakem software uplne k nicemu.
    SH_PANDA
    SH_PANDA --- ---
    sqlite mozna neni dobrej priklad, ale IMO zabalit do docker image nejakej obskurne buildovanej/setupovanej tool, nebo tool, ktery neni pro vase OS je uplne legitimni pripad pouziti Dockeru a kdyz to nevidite, tak si doplnte vlastni urazky na vasi inteligenci/znalosti/predstavivost ...
    VESNACH
    VESNACH --- ---
    DANIELSOFT: jo, to bude ono.
    HVJ3R
    HVJ3R --- ---
    VESNACH: A kterej "proces" sqlite potrebujes dockerizovat?
    DANIELSOFT
    DANIELSOFT --- ---
    VESNACH: hadam ze potrebujes overridnout entrypoint, to se dela volbou "--entrypoint"
    VESNACH
    VESNACH --- ---
    SATAI: ja se to prave pres docker compose pokousel resit, s tim ze spustim projekt a rovnou vytvorim image jednim prikazem, coz funguje paradne viz:

    docker-compose run web django-admin.py startproject composeexample .

    Pochopitelne neni problem vytvorit kontejner a do toho dat data pro produkci :) ale co uz. Je to blbost, rtfm.
    SATAI
    SATAI --- ---
    VESNACH: v prvnim priblizeni si predstav, ze nebudes davat do extra kontejneru neco, co bys nechtel mit v extra fyzicke nebo virtualizovane masine moc smysl nedava

    Mohlo by mit vyznam kouknout trebas na docker-compose, ale lepsi asi bude, kdyz ten cas venujes zakladum v manualu ;)
    Kliknutím sem můžete změnit nastavení reklam