Docker für den RPi

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Docker lässt sich mittlerweile fast problemlos auf der Raspi installieren. Man muss nur noch den Client auf 1.81 hochheben und kann dann problemlos ARM Images von Dockerhub benutzen.

    Habe mal spasseshalber eine helloworld nodejs app auf einer raspi1 deployed. Funktioniert perfekt :thumbs1:

    Angeblich sollen 2500 Webserver auf einer Rapi2 laufen. Das hat die Docker-Community in einem Wettbewerb lt c't herausgefunden. Eine Messung habe ich nicht angestellt - zumal ich keine raspi2 habe :shy:

    Wenn Interesse besteht mal ein Image per Docker auf der Raspi zu deployen kann ich ja mal ein kleines Tut dazu erstellen. Da dieses Thema schon sehr speziell ist gehe ich aber davon aus das es sich nicht lohnt.

  • Hallo zusammen,

    gibt es schon ein paar neue Erfahrungsberichte zum Thema Docker und RPi?

    Ich finde Docker interessant, würde es aber vor allem erstmal in diesem kleinen Setup bei mir daheim nutzen wollen und daher würde ich mich über ein paar Erfahrungsberichte freuen :)

    Danke! :)

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Hallo zusammen,

    Zitat von "dbv" pid='291357' dateline='1500381138'


    Wer Docker für Produktivsysteme einsetzt, dem ist nicht mehr zu helfen.


    Grober Unfug - ich nutze Docker beruflich täglich. Die Kombination Raspberry Pi+Docker hat sich in zahllosen Anwendungsszenarien bewährt.
    Besonders in den Bereichen Continuous Delivery/Integration/Deployment ist Docker ungeschlagen.

  • Zitat von "dbv" pid='291419' dateline='1500401484'


    Ich hab 2x mit Docker komplette Datenbanken verloren und bin seit dem durch mit dem Thema.

    Wenn ich mit dem Auto gegen die Wand fahre, ist natürlich das Auto und die Wand schuld.


    Gruß

    Dude

  • Danke für das ganze Feedback. Wir setzen bei uns in der Firma auch immer mehr Docker-Container ein und nachdem ich für die privaten Projekte mir auch ein kleines Gitlab-Setup aufgesetzt habe, das genau für CI und CD gedacht sein soll, kommt nun langsam Docker ins Spiel, bevor ich mein CI "hart verdrahtet" hochfahre.

    Zitat von "rastafari" pid='291424' dateline='1500402532'


    [...]Besonders in den Bereichen Continuous Delivery/Integration/Deployment ist Docker ungeschlagen.

    Dementsprechend kann ich diese Erfahrungen aus der Software-Entwicklung (seltener in den Produktivsystemen) bestätigen.
    Docker ist im Übrigen keine VM, es sind aufeinander basierende Container und dementsprechend sind sie in vielen Anwendungsfällen flexibler und leichtgewichtiger.

    Man kann von Microsoft und Co. denken was man möchte, aber die ganzen Kubernetes, Windows Container, Hyper-V etc. Entwicklungen bauen immer mehr auf die "Containerisierung". Daher gehe ich davon aus, dass wir in Zukunft immer mehr mit Docker und Co. zu tun haben werden.

    Klar ist dies auch aktuell ein totales Trendthema und kann genauso gut in 1-2 Jahren aufgrund seiner Nachteile eingestampft werden, wie bspw. der Vagrant Ansatz. Dennoch sehe ich gerade im immer mehr wachsenden DevOps-Bereich ein breites Feld an Anwendungsmöglichkeiten.

    Alles in allem werde ich mir dann mal etwas Container-Lektüre zulegen :).

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Zitat von "Leroy Cemoi" pid='291429' dateline='1500404257'

    Genau dafür ist Docker auch nicht gemacht. :D

    Doch, das wird doch immer propagiert, dass man z.B. seinen Webserver und die dazugehörige DB in getrennte Docker-Container packen soll/kann... die Daten sollen natürlich AUSSERHALB des Container liegen... (Gab da vor kurzem mal einen ausführlicheren Artikel in der c't...)

    Docker halte ich (ebenfalls) (aktuell) für unausgereift.

    Ich haben nun in den letzten Jahren viel mit VMs und Virtualisierung zu tun gehabt, auch Docker wurde uns angedient... hat es aber letztlich "nicht gebracht"...

    Wenn ich was reproduzierbares haben will, bau ich mir eine VM (unter ESXi) auf, mach einen Snapshot und lass den CI-Mist laufen.
    Danach setze ich die VM zurück und gut... (dauert nur Sekunden).

    Na egal, jeder soll sehen, womit er glücklich wird...

  • Zitat von "dbv" pid='291419' dateline='1500401484'


    Ich hab 2x mit Docker komplette Datenbanken verloren und bin seit dem durch mit dem Thema. Da können sie noch noch so viele schichten und Abstraktionsebenen um den instabilen Kern basteln, in meine IT-Landschaft kommt sowas nicht.

    Wenn man keine Volumes benutzt dann docker stop db, docker rm db und dann wieder docker start macht muss sich nicht wundern wenn die Daten im Container mit weg sind.
    Die leigen schön ausserhalb und am besten so das man über mehrere docker Cluster in breite und höhe skalieren kann.

    Docker nicht in Production ENV benutzt? Wenn das nicht gemacht würde, würden einige grossen Play im Internet nicht mehr funktionieren.

    Images so erstellen das ein Image für alle Container passt. Dynamische Sachen wie configs per Volume rein "mounten". Über Entrypoint Dynamische Host bzw. Service spezifische Daten vom Container selbst generieren lassen, ab in ein Volume ausserhalb. So das man Container neu generieren kann ohne jedes mal die Daten neu generieren zu lassen.
    Docker-compose z.B. dazu, dann ist das sklaieren ein Kinderspielt. Die 10 Webserver reichen gerade nicht? docker-compose scale web=20 und fertig. Entweder tragen die sich im Loadbalancer selbst ein oder ein Management Tool was docker schon skaliert hat trägt sie ein. Alternativ z.B. haproxy der im Docker sogenannte Links auf alle Webserver bekommt, mit einem Python Helper neue und weggefallene Web Container bemerkt und das ein- und austragen automatisch macht.
    Schneller kannst Du mit VMs gar nicht mehr Server dazu packen, neue Versionen von Software ausrollen, Teilweise ausrollen zum langsam testen und und und.

  • Zitat von "Zentris" pid='291462' dateline='1500417159'


    [...]
    Wenn ich was reproduzierbares haben will, bau ich mir eine VM (unter ESXi) auf, mach einen Snapshot und lass den CI-Mist laufen.
    Danach setze ich die VM zurück und gut... (dauert nur Sekunden).[...]

    Hast du da 1-2 gute Infos/Quellen für mich? Die Internetsuche spuckt mir viele Seiten aus und da ich totaler Anfänger in dem Bereich bin, würde es mich freuen, da ggf. einen Anhaltspunkt zu bekommen, wo ich am Besten anfangen sollte.

    Mir ist egal, ob das Ding nun Docker heißt, Container oder VMs benutzt oder ob es einfach kleine (fair bezahlte) Äffchen sind, die meine Tests und Builds durchführen. Letztendlich möchte ich meine Gitlab-CI Integration möglichst schmerzfrei und wartbar sein.

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Zitat von "Renão" pid='291478' dateline='1500450805'


    Letztendlich möchte ich meine Gitlab-CI Integration möglichst schmerzfrei und wartbar sein.


    Einer guten CD/CI sollte es egal sein auf was sie Dinge deployed. Ob Bare Metal, VM oder Container.
    Im besten Fall willst man ja wenn jemand als Anforderung sagt es reicht wenn es im Container läuft, nach Livegang aber festgestellt wird das die angeforderten Ressourcen nur geraten wurden schnell anstatt VM oder Blech auswählen und mit einem Klick wird Deployment und Integration gestartet.

  • Zitat von "Renão" pid='291478' dateline='1500450805'

    ...Mir ist egal, ob das Ding nun Docker heißt, Container oder VMs benutzt oder ob es einfach kleine (fair bezahlte) Äffchen sind, die meine Tests und Builds durchführen. Letztendlich möchte ich meine Gitlab-CI Integration möglichst schmerzfrei und wartbar sein.


    Der ESX Server ist kostenlos. Allerdings braucht der spezielle Hardware, die ein paar Euronen kosten. Snapshots gehen erst mit VC und da zahlst Du nicht wenig Euronen :shy: Installiere lieber auf einem Rechner Docker und gut ist.

    Edit: Da stand ESC statt ESX vorher. Dummer Typo

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!