Kategorie: Docker

WordPress Docker Performance

Das mein Blog mit der Software WordPress läuft, sollte eigentlich klar sein. Die ganze Zeit kämpfte ich mit massiven Performance Problemen die eigentlich nicht am Hostsystem liegen können. Andere Softwareprodukte laufen auf meinem NetCup VPS nämlich schnell und zuverlässig. Die Wordress Docker Performance leider ein wenig.

Im Internet gibt es nicht wirklich viele Informationen zu dem Problem. Meist wird behauptet, dass es am Hostsystem liegen soll. Da ich das bereits ausschließen konnte wurden viele Beiträge obsolet.

Weiterlesen

Docker Befehle für den Alltag

docker-befehle

Um Docker im Alltag zu meisten, ist es ratsam sich ein paar Docker Befehle anzueignen und diese anwenden zu können. Ich möchte dir ein paar meiner alltäglichen Helfer in diesem Beitrag vorstellen.

Docker hat sich in den letzten Jahren immer mehr entwickelt und ist aus vielen Homelabs nicht mehr weg zu denken. Einige recht umfangreiche Infrastrukturen basieren vollständig auf dieser Art der Containerisierung. Im Laufe der Zeit wird man immer mehr zum Profi und kann auch komplexe Probleme schnell löschen. Als Anfänger allerdings steht man häufig vor Problemen.

Informationen über Docker Container

Wir starten mit einem Docker Befehl um die Informationen eines Containers, heißt IP-Adresse, Konfiguration und ähnliche Dinge einsehen zu können.

docker inspect {container name}

Log des Containers einsehen

Sollten alle Container immer problemlos laufen, bräuchten wir diesen Beitrag nicht. Aber wir wissen alle, dass das nicht der Fall ist. Um sich die Log Dateien bzw. das STDOUT des Containers anzuschauen gibt es den Befehl

docker logs {container name}

Dieser listet alle Loginformationen seit dem letzten Start des Containers auf. Dies kann also schon mal recht lang werden. Einfacher ist es dann den Befehl um ein -f zu erweitern

docker logs -f {container name}

Jetzt haben wir die Chance das Logfile dauerhaft anschauen zu können. Sobald der Container also etwas protokolliert, wird dies direkt angezeigt. Mit STRG+C können wir das abbrechen.

docker-befehle
Docker Befehle für den Alltag helfen wir bei deiner Arbeit

Alle Container stoppen

Manchmal muss man alle Container auf einmal beenden. Zum Beispiel wenn man Update am Hostsystem einspielen, das Hostsystem kontrolliert herunterfahren oder andere Wartungsarbeiten durchführen möchte.

Wer mit Docker Compose arbeitet und nur eine große Datei hat – davon sei übrigens abzuraten – hat es einfach. Allerdings ist das nur sehr selten der Fall.

docker stop $(docker ps -a -q)

Der Befehl stoppt alle Container (docker stop) die mit dem Befehl (docker -ps -a -q) gefunden werden. Also alle Container, egal welchen Status diese derzeit haben. Hier werden also Docker Befehle zusammen gefasst um dir das Leben direkt zu erleichtern.

Alle Container löschen

Ab und zu ist es auch notwendig alle Docker Container zu löschen. Zum Beispiel um neue Environment-Variablen einzulesen. Allerdings müssen wir erst alle Container stoppen, z. B. mit dem Befehl weiter oben.

Anschließend bedienen wir uns einer sehr ähnlichen Technik und löschen alle Container die mit docker ps gefunden werden

docker rm $(docker ps -a -q)

Ich hoffe ich konnte dir ein paar nützliche Docker Befehle mit an die Hand geben. Mich würde es noch interessieren, was deine Empfehlung für diese Liste wäre.

Nextcloud Docker Tutorial – Step by step zum Erfolg

Vor einiger Zeit gab es von mir ein Nextcloud Docker Tutorial bereits auf meinem YouTube Kanal. Dies ist soweit auch weiterhin aktuell. Allerdings bedarf es für eine gute Nextcloud Installation noch weiterer Konfiguration.

Um Nextcloud immer von überall aus erreichen zu können, empfehle ich dir die Installation auf einem virtuellen Server bei einem Hosting Provider. Ich nutze hierfür Netcup, welche ich sehr empfehlen kann.

Weiterlesen

Interne Namensauflösung bei Docker mit Traefik

Traefik nutze ich primär um als reverse proxy von extern auf meine Docker Container zugreifen zu können. Dies natürlich SSL terminiert. Verschiedene Dienste sollen allerdings nicht extern erreichbar sein und benötigen auch – aus meiner Sicht – nicht zwingend eine verschlüsstele Verbindung.

Aus diesem Grund habe ich auf meinem internen Docker Server Traefik als reverse proxy laufen, welcher den verschiedenen Diensten via netzwerkinterner DNS-Auflösung ein DNS Namen verpasst. So kann ich z. B. via http://phpipam.docker.domain.local auf mein PHPIPAM Dienst zugreifen.

Weiterlesen

Traefik Dashboard konfigurieren

Das Traefik Dashboard war einer der großen Punkte, die meine Community noch auf dem Wunschzettel geschrieben hat. Entsprechend habe ich nun für mein Docker-Homelab Repository auf Github dieses in die bestehenden Dateien eingepflegt. Das Traefik Dashboard liefert dir interessante Informationen über die dahinter liegenden Webseiten und Anwendungen.

In einem YouTube Kommentar bin ich dann vor einigen Tagen darauf angesprochen worden, dass die Statusseite von Traefik nicht funktioniert. Diesem Problem habe ich mich also angenommen und das Dashboard unter Traefik 2.0 konfiguriert.

traefik dashboard
Traefik Dashboard

Im Wesentlichen müssen hierbei nur diverse Labels an der docker-compose.yaml-Datei angefügt werden. Die Traefik-Konfigurationsdatei traefik.toml ist schon für das Dashboard vorbereitet. Allerdings sollte man diese ebenfalls austauschen, da ich hier andere Anpassungen vorgenommen habe.

Diese Seite bietet vielerlei Informationen rund um die einzelnen Anwendungen. Zudem können hieraus direkt Metriken für die Besucherstatistik sowie Performance der Webseiten gewonnen werden. Zu einem späteren Zeitpunkt werde ich sicherlich einen weiteren Blogpost oder YouTube Video zu dem Thema veröffentlichen.

Solltest du Gefallen an meiner Arbeit finden, würde ich es sehr begrüßen wenn du mich dabei ein wenig finanziell unterstützt.

Reverse Proxy mit Traefik unter Docker

Traefik Architecture

Um mehrere Webseiten unter einer IP und einer Domain zu veröffentlichen, ist es am einfachsten, wenn man sich ein sogenannten reverse proxy einrichtet. Die wohl bekannte Variante dazu ist von NGINX. Hierfür gibt es auch diverse Tutorials im Internet.

Meine ganzen Services, die ich extern verfügbar machen möchte, laufen allerdings als Docker Container. Entsprechend bietet es sich an, auch den reverse proxy Traefik unter Docker als Container laufen zu lassen.

Weiterlesen

Webhosting Umzug zu Docker

Anfang April habe ich die Überlegung schon gehabt, die Webseiten, welche ich auf meinem Server hoste, zu Kubernetes umzuziehen. In den letzten Wochen habe ich mich dann versucht in das Thema einzuarbeiten und muss gestehen, dass ich im Bezug auf Kubernetes selbst, gescheitert bin.

Docker als Containerdienst war eigentlich recht schnell verinnerlicht. Selbst einige Dienste daheim sind von LXC Container zu Docker Containern umzogen worden. Allerdings hat mich schon die Installation von Kubernetes zur Verzweiflung gebracht. Die einzige Möglichkeit die ich fand, war den Umweg über Rancher 2 zu gehen. Zwar eine durchaus ansprechende Möglichkeit, dennoch unbefriedigend.

Nun habe ich mir bei Netcup den zweiten Server gemietet und habe darauf Docker in der Community Edition installiert. Gepaart mit Docker Compose lassen sich jetzt dort meine Container hervorragend verwalten.

Dieser Blog hier ist bereits umgezogen und dient noch als Testprojekt. Sollte in den nächsten Tagen und Wochen nichts großartiges schief gehen, werden auch tektoria.de und die ganzen Projekte von meiner Freundin zu Docker Container umziehen.

Last but not leased wird der primäre DNS Server der für die Zonen zuständig ist auch noch den weg in ein Container finden. In den letzten Tagen hatte ich bereits einige Blogbeiträge gelesen die diesen Weg schon gegangen sind. Es sollte also auch für mich kein Problem darstellen.