Locker mit Docker – Heute Nginx mit RTMP Modul

Als Streamer wünscht man sich natürlich eine große Erreichbarkeit. Viele Zuschauer tummeln sich auf Twitch.tv einige auf Hitbox.tv und einige schauen auf der neuen Gamingplattform von YouTube zu.

Wie soll man die alle erreichen wenn man gerade mal einen Dienst beliefern kann weil die Internet Leitung nicht mehr hergibt.

Die Lösung ist ein NGINX RTMP Server.
Relativ zügig aufgesetzt kann so über einen Server der eigentliche Stream auf viele andere Plattformen verteilt werden.

Und hier nun die erste Video Anleitung zum Thema.

 

 

Docker, rumspielen mit Containern

Diese Woche geht’s um Container, Java,  Tomcat, Jetty, Railo , lucee , Enterprise und Amazon.

Eine Enterprise Lösung soll mit docker in eine Testumgebung gebracht werden.

Die Grundlage bildet ein beliebiges Unix in meinem Fall centos oder wheezy (debian). Der erste Container beinhaltet Java 7 und bildet somit einen wichtigen Grundstein. Ich habe Java in einem eigenen Container damit ich diesen leichter verändern kann ohne die anderen Komponenten zu verändern.
                                                                  
Als nächster Container steht Tomcat, alternativ Jetty auf dem Plan. Diese werden furbdie Java compilierung benötigt.

Der dritte Container ist ein servlet für die jvm dies wird benötigt um coldfusion zu interpretieren. Hier kann noch das letzte stabile railo servlet genutzt werden oder schon der Nachfolger lucee verwendet werden.

Der vierte Baustein ist die Enterprise Lösung als application selbst.

Nun können die verschidenen Container wahlweise aufeinander aufbauen um meine Application auf jetty und tomcat zu testen kann ich natürlich auch zwei verschiedene Testsenarien aufbauen eben so die Verwendung von lucee und railo.

Natürlich kann ich auch noch weitere Java Container einrichten um zu sehen wie es mit Java 8 läuft.

Wenn alle Container eingerichtet sind und ich das Produktions System nachgebildet habe können die Tests der enterprise auch schon losgehen.

Durch das flexible tauschen der Container ist es problemlos möglich upgrades von wichtigen Komponenten schnell und einfach in einer testumgebung laufen zu lassen um zu prüfen ob die produktiv Systeme ein entsprechendes upgrade bekommen können.

Entsprechende Dockerfiles und eine Übersicht nützlicher Befehle werden in kürze folgen.

Docker und Amazon Container Service

Ein Wochenende voller WTF ist vorbei. Themen des Wochenendes waren Dicker, AWS und die blaue Wolke (Cloud) .

Zuerst hab ich viel Zeit verbracht mich intensiver mit Docker zu beschäftigen. Zu allererst Docker Registry: Man logt sich mit Hilfe des Befehls „docker login“ ein und kann nun seine Container ins docker hub schieben. Dazu benutzt man den Befehl „docker push myApp“. Und tada das repository wurde auf docker hub angelegt. Jetzt liegen dort als … Was genau.. die lokal gebauten Container. Blöd nur das zum Beispiel mein railo Container der eine Webseite birgt den Source Code von meinem lokalen Windows Platte gezogen hat. Dieser fehlt nun. Also kein Source Code im Container.

Was nun?

Lesen Lesen Lesen Lesen Lesen wtf Lesen Lesen ahhhh :

Automatisches build repository mit github. Fast schon perfekt. also auf github den Source Code des docker container gepushed. Siehe da alle Infos sind im docker hub inklusive der dockerfile. Was fehlt jetzt immer noch der Source Code. 2 Optionen habe ich nun ohne groß zu Überlegen. Entweder den Code mit in das repository … Pfui … Ein eigenes Repository. Besser, also Code pushen docker File anpassen docker pushen. Start build. Sehr gut so geht’s.

Aber nicht das was mir vorschwebte. Am Rande, ich hab es auch bis jetzt noch nicht erreicht. Ich möchte die Container in AWS laufen lassen über den ACS. Mein Quellcode soll nicht in einem public Repro liegen. Dockerfiles auch nicht. Also Setup für ein Closed Projekt.

Ein weiterer Test den ich gemacht habe war das Docker File aus dem automatmischen repository zu ziehen und den Code als Zipfile von aws S3. Zugriff des S3 nur auf aws Ebene. Wtf build fehlgeschlagen… wtf wo findet der build statt? Etwa Auf docker? -.-

Also nächstes Ziel vielleicht ec2 instance fürs docker. s3 als docker register Speicher. Privates repro des Codes auf github mit public key der ec2.

Die nächsten Tage werde ich wohl hier noch am richtigen Entwurf arbeiten. Sobald das passt geht’s an die API. Wer will schon immer klicken.

Trotzdem Erfolge.

Der Spass darf natürlich nicht fehlen. Also habe ich die ACS mit minecraft getestet. Docker gebaut gepushed eingetragen und tada. Erstmal je Runde daddeln. Config anpassen bungecore dazu packen und 10 Server anschmeißen. Gut 10 laufen manuelles anpassen der ips etc… Ne danke morgen vielleicht 🙂 aber nun kann ich auf 10 Servern zocken.

WTF