Wie ich Docker in 4 Stunden begriffen habe und einsetzen kann
Alle sprechen von Docker und ich wusste einfach nicht um was es dabei handelt… Also dachte ich mir ich spiele ein wenig damit rum, dann schnall ich es dann schon… und es ist awsome!
Nun, stellt euch vor, ihr habt einen Ubuntu Server (Docker gibt nun auch für andere Distributionen aber ich brauch mal Ubuntu weil es Docker darauf am längsten gibt). Auf diesem habt ihr viele kleine Container welche wiederum einen kleines abgespecktes Ubuntu darstellen. Nur halt nicht virtualisiert…. Diese Container könnt ihr nach belieben konfigurieren. Das geniale daran ist nun folgendes:
Diese Container laufen auf jedem Host wo Docker installiert ist. Sie sind völlig unabhängig. Heisst, ihr entwickelt bei euch in der Entwicklungsumgebung und knallt die dann auf den Live Server docker run {euren Container}
und fertig!
Es ist nun aber so, das Docker die Container immer einem Port zuweist. Entweder zufällig zwischen 49000 und 49900 oder ihr legt den Port selbst fest. Da dachte ich mir sofort: “Das ist aber nicht brauchbar!”. Also suchte ich nach einer Lösung. Meine erste Lösung welche ich ausprobiert habe ist jene mit HAProxy.
Nun aber der Reihe nach
Um mit Docker herum experimentieren zu können, legt ihr euch entweder einen virtuellen Ubuntu Server auf eurem PC auf oder ihr erstellt euch einen Account auf Digital Ocean und anschliessend ein neues Droplet mit vorinstalliertem Docker.
Um Docker zu verstehen sind die folgenden Links in der Reihenfolge für mich sehr nützlich gewesen:
1. Grundlagen
Beginnt mit der offiziellen Doku von Docker (immer am Ende der Seite gehts zum nächsten Bereich):
https://docs.docker.com/introduction/understanding-docker/
Wenn ihr im Chaos versinkt, könnt ihr alle Container mit folgenden Befehlen stoppen und löschen:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
2. Mehrere Webseiten auf Port 80
Eine Möglichkeit ist die Verwendung eines Reverse Proxys. In diesem Beispiel HAProxy.
http://samos-it.com/posts/docker-multi-website-single-ip-host-haproxy.html
Etwas Hintergrund dazu:
http://oskarhane.com/haproxy-as-a-static-reverse-proxy-for-docker-containers/
Leave a Reply