• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ALMADDocker a kontejnery
    DARK_SAVANT
    DARK_SAVANT --- ---
    SKUTEKKUTEKK: zalezi jaky pouzivas networking.

    mrkni sem https://docs.docker.com/v1.10/engine/userguide/networking/dockernetworks/

    mozna chces nastavit host networking, nebo neco zajimavejsiho.
    SKUTEKKUTEKK
    SKUTEKKUTEKK --- ---
    Ahoj, trochu si hraju s Dockerem. Chtěl bych mít jeden kontejner s php a druhý s nginx. PHP instaluju nad

    FROM ubuntu:14.04.5

    ENV DEBIAN_FRONTEND noninteractive

    RUN apt-get -qq update
    RUN apt-get install php5-fpm -y php5-cli php5-intl php5-mcrypt php5-apcu php5-gd php5-curl

    RUN echo "/etc/init.d/php5-fpm start" >> /etc/bash.bashrc

    EXPOSE 9000


    =======================================================
    nginx z

    FROM nginx:1.10

    ADD vhosts/nette.dev.conf /etc/nginx/conf.d/nette.dev.conf

    ENV TZ=Europe/Prague
    RUN echo $TZ > /etc/timezone

    =======================================================

    ale nginx se nemůže dobouchat na kontejner s php:

    nette-nginx | 2016/09/09 20:22:32 [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: nette.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.2:9000", host: "nette.dev"
    NIXIMOR
    NIXIMOR --- ---
    Je fakt ze 2 roky je v oblasti kontejneru neuveritelne dlouha doba. Verim, ze spoustu chyb uz se od te doby povedlo vyladit.
    HVJ3R
    HVJ3R --- ---
    GHORMOON: Pokud crashly procesy uvnitr, obcas se nam stalo, ze to neslo shodit. Po hardkillu zustavaly namountovane overlaye a nesly odmountovat, device or resource busy. Uvnitr jsme provozovali v podstate Xvfb, FF + selenium. Porad to vyzadovalo rucni zasahy. Detaily si bohuzel uz nepamatuju.

    Donutilo nas to prejit k obycejnemu chrootu i za cenu bezpecnostnich kompromisu, ted se zkousime vratit k puvodni urovni izolace prave pomoci dockeru.
    GHORMOON
    GHORMOON --- ---
    HVJ3R: co na tom padalo? mi se nic podobneho nedeje, mam to ocekavat?
    NIXIMOR
    NIXIMOR --- ---
    HVJ3R: Rekneme ze s tim spis chci experimentovat, protoze Docker s jeho nedoresenym sitovanim na nektery veci neni uplne vhodnej (IPv6), a instalovat kvuli nejakym drobnostem cely novy KVM se mi nechce, resp. zbytecne by to alokovalo prostredky hosta.
    HVJ3R
    HVJ3R --- ---
    NIXIMOR: Mas k tomu nejaky zasadni duvod? LXC jsme pouzivali produkcne cca dva roky zpatky a bla to bida s nouzi, padalo to, sralo se to, opustili jsme to.

    Na image bootstrap, startup a monitoring jsme meli cmdline skripty, GUI nikdy neresili, protoze nam to bezelo remote v serverovnach stejne.
    ADM
    ADM --- ---
    URPUTNIK: tak to je nejspis nejaky synchronizacni problem
    INDIAN
    INDIAN --- ---
    NIXIMOR: pouzivam LXC hodne sporadicky a jako GUI k nemu virt-manager.
    NIXIMOR
    NIXIMOR --- ---
    Zkusim trochu odbocit od Dockeru... pouzivate nekdo LXC jako takove? Jakoze ve forme virtualniho stroje? Zajimalo by me, jestli je k tomu nejake rozumne GUI, kde by se dala naklikat nova VM, jeji konfigurace, limity, nejak to monitorovat co vsechno vlastne na zeleze bezi a tak... Nebo se to musi resit vsechno pres cmdline?
    URPUTNIK
    URPUTNIK --- ---
    URPUTNIK: zakon schvalnosti, chtel jsem to nasimulovat kvuli logum pro naseho teamleadera .. prvni 2 nastartovany spadly patrne z tehoz duvodu, ale ukoncoval jsem je ze startovaciho docker-compose, kde nejsou videt ty logy z vypinani s deadlocky z dtb .. a dalsich 13 uz nastartovalo dobre .. asi zalezi na poloze slunce :)
    URPUTNIK
    URPUTNIK --- ---
    URPUTNIK: teda moje googlefu ma dneska slabsi chvilku, az ted jsem mimochodem nasel ofiko dokumentaci k tematu .. tak treba to nekomu zacinajicimu pomuze :) pro nas to minimalne znamena upgradovat docker-compose, ten nas neumi ver2 ..
    URPUTNIK
    URPUTNIK --- ---
    URPUTNIK: kdo se moc pta, malo googli :) docker-compose to neumi, ale da se to doplnit rucne
    URPUTNIK
    URPUTNIK --- ---
    URPUTNIK: ovsem po restartu uz vsechno beha jak ma, hezky se to vypina a zapina a ustoji to i zatezovy testy .. tak ja to nechapu :[ mam se na takovyhle chovani pripravit? je to s dockerem normalni?

    vlastne jediny pri cem to pada (mi ted doslo) je vzdycky prvni spusteni docker-compose, pac je tam nejakej skript, co jeste updatuje strukturu databaze, je dost mozny ze se to nejak protne se startem ty db .. co jsem googlil, tak lidi reportovali stejny problemy, podle vseho zpusobeny adaptive hash indexem v mariadb pokud nekdo meni strukturu databaze .. coz ten update skript urcite dela :)

    da se nejak urcit, v jakym poradi budou kontejnery startovat, umi na sebe navzajem cekat? pac ve vystupu z docker-compose jsou ty logy z jednotlivych kontejneru pomichany ..
    GHORMOON
    GHORMOON --- ---
    DANIELSOFT: well, muzes mit jak systemd unit, tak init.d skript. vola se to, co mas, takze pokud to unitu nema, ale jen init.d skript, tak je to skoro jedno.
    ono vlastne service je taky jen backward compatibility, mel bys pouzivat systemctl :)
    DANIELSOFT
    DANIELSOFT --- ---
    URPUTNIK: na jessie uz je systemd, tak je s podivem, ze to pres /etc/init.d jde... mozna to udrzujou pro kompatibilitu... ja bych pouzival service
    URPUTNIK
    URPUTNIK --- ---
    URPUTNIK: a poustite kdyz ovladate docker demona, delate to pres /etc/init.d nebo pres service? asi bych mel pouzivat service, se zda ..
    URPUTNIK
    URPUTNIK --- ---
    URPUTNIK: a navic je od te doby celej system podivne nakopnutej, patrne operace se souborym systemem, pac napriklad zamrzava ten filewatcher pro ideu a blokuje jeji spusteni

    nakonec jsem to musel cely vypnout natrvdo a pritom jsem se jeste dostal k necemu, co jsem predtim v lozich nenasel, to je podle mne z toho padu toho mysql ..

    pritom je divny, ze na zacatku minuleho tydne mi ten docker normalne behal, vcetne databaze .. a samozrejme si nejsem vedom niceho, co by se od te doby zmenilo :( nejake obvykle issues na debianu?
    URPUTNIK
    URPUTNIK --- ---
    URPUTNIK: chm, tak to mysql dneska spadlo hned po startu .. stopnuti docker service proslo, zustal akorat ten docker-containerd-shim, killnul jsem ho .. so far good .. ale ted mi nefunguje nove 'sudo /etc/init.d/docker start', uz to startuje vic jak 20min a je to stale v tomhle stavu:
    root     22375  0.0  0.0  53296  3684 pts/0    S+   10:37   0:00 sudo /etc/init.d/docker start
    root     22376  0.0  0.0   4336  1552 pts/0    S+   10:37   0:00 /bin/sh /etc/init.d/docker start
    root     22383  0.0  0.0  22604  2568 pts/0    S+   10:37   0:00 /bin/systemctl start docker.service
    root     22386  0.0  0.1 488432 30148 ?        Ssl  10:37   0:00 /usr/bin/dockerd -H fd://
    root     22392  0.0  0.0 348940 10840 ?        Ssl  10:37   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc
    root     22416  0.0  0.0   4220  1240 ?        D    10:38   0:00 auplink /var/lib/docker/aufs/mnt/013c4159a549d19ce422594143a77fe0d15e8707ec46e9def418ed3856d42a1c flush
    


    napad co jsem mel jeste vypnout/sestrelit/smazat? jestli je to stejne jako vcera, zpravidla koncim fyzickym vypnutim stroje, pac se mi nechce vypnout ani system :(

    v 'var/log/daemon.log' je z vypnuti tohle:
    Aug 23 10:25:21 no-swi-sc-0135 dockerd[779]: time="2016-08-23T10:25:21.042916378+02:00" level=error msg="containerd: notify OOM events" error="cgroup path for memory not found"
    Aug 23 10:34:57 no-swi-sc-0135 dockerd[779]: time="2016-08-23T10:34:57.213134087+02:00" level=info msg="Container ae0b58d8ad5bc02f73fe97e1ab32ee7471200a3cb9a65c2f844aee98b67bc071 failed to exit within 10 seconds of signal 15 - using the f
    Aug 23 10:35:17 no-swi-sc-0135 dockerd[779]: time="2016-08-23T10:35:17.640411912+02:00" level=info msg="Container b6d11f752f3f failed to exit within 10 seconds of kill - trying direct SIGKILL"
    Aug 23 10:36:32 no-swi-sc-0135 dockerd[779]: time="2016-08-23T10:36:32.113225517+02:00" level=info msg="Processing signal 'terminated'"
    Aug 23 10:36:42 no-swi-sc-0135 dockerd[779]: time="2016-08-23T10:36:42.114555508+02:00" level=info msg="Container b6d11f752f3fff571f069e63e6758d473bf81fdc82ec1a7337b5d9ffff4cae24 failed to exit within 10 seconds of signal 15 - using the force"
    Aug 23 10:36:47 no-swi-sc-0135 dockerd[779]: time="2016-08-23T10:36:47.113666797+02:00" level=error msg="Force shutdown daemon"
    Aug 23 10:36:47 no-swi-sc-0135 dockerd[779]: time="2016-08-23T10:36:47.114128243+02:00" level=info msg="stopping containerd after receiving terminated"
    Aug 23 10:36:48 no-swi-sc-0135 dockerd[779]: time="2016-08-23T10:36:48.005482221+02:00" level=error msg="collecting stats for b6d11f752f3fff571f069e63e6758d473bf81fdc82ec1a7337b5d9ffff4cae24: rpc error: code = 2 desc = grpc: the client connection is closing"
    

    a novy pusteni
    Aug 23 10:37:50 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:50.151648747+02:00" level=info msg="libcontainerd: new containerd process, pid: 22392"
    Aug 23 10:37:50 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:50.170847933+02:00" level=error msg="containerd: notify OOM events" error="cgroup path for memory not found"
    Aug 23 10:37:51 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:51.156712215+02:00" level=info msg="[graphdriver] using prior storage driver \"aufs\""
    Aug 23 10:37:51 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:51.184606710+02:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
    Aug 23 10:37:51 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:51.184811556+02:00" level=warning msg="Your kernel does not support cgroup memory limit"
    Aug 23 10:37:51 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:51.184849131+02:00" level=warning msg="Your kernel does not support cgroup cfs period"
    Aug 23 10:37:51 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:51.184867080+02:00" level=warning msg="Your kernel does not support cgroup cfs quotas"
    Aug 23 10:37:51 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:51.184976453+02:00" level=warning msg="mountpoint for pids not found"
    Aug 23 10:37:51 no-swi-sc-0135 dockerd[22386]: time="2016-08-23T10:37:51.185467441+02:00" level=info msg="Loading containers: start."
    (END)
    
    RUDOLF
    RUDOLF --- ---
    URPUTNIK: v docker-compose.yml by měl být pro definovaný zdrojový mariadb kontejner, imho bys tam měl mít v nejlepším případě: image: mariadb / což je: https://hub.docker.com/_/mariadb/
    Kliknutím sem můžete změnit nastavení reklam