Docker
Docker: was ist das?
Docker ermöglicht es bestimmte Services oder Dienste als Container zu starten. Ein Container besteht aus bestimmten Software-Images, welche aus dem Internet geladen und vom Betriebssystem und voneinander isoliert gestartet werden können.
Für die Netzwerkkommunikation mit dem Container können bestimmte Netzwerk Ports außerhalb des Containers zur Verfügung gestellt werden. Bestimmte Ordner innerhalb des Containers können in das Host-Betriebssystem umgeleitet werden, um die Daten persistent zu machen. (Damit diese bei einem erneuten Provisionieren des Containers nicht verloren gehen)
Als Beispiel könnte ein Docker-Container für das Bereitstellen einer Datenbank die Datenbankfiles und deren Konfiguration in das lokale Dateisystem schreiben. Die eigentliche Datenbank läuft dabei nach dem Download der Software-Images isoliert im Container und ist von außen über einen Netzwerk Port erreichbar, z.B. „localhost:1433“. Die Daten der Datenbank liegen im lokalen Dateisystem, die Software-Images können mit neuen Image-Versionen getauscht werden.
Docker Schnellstart: Warum? Wofür Container? Hardware?
Was sind Docker Container? Docker-Container sind kleine isolierte Programmeinheiten, die unabhängig vom Betriebssystem auf einem nahezu beliebigen PC oder Server gestartet werden können. Die Benutzeroberfläche eines Containers wird meist in Form eines Webservice zur Verfügung gestellt und kann dadurch über eine Adresse im Browser erreicht werden. Der Aufruf von einem PC, Smartphone oder Tablet erfolgt über einen beliebigen Browser und setzt daher keine zusätzlich installierte Software oder App... ... weiterlesen
Voraussetzungen
Docker-Container unter Linux starten: verwende Docker Engine
Eine Anleitung für die Installation von Docker ist auf der Herstellerseite zu finden. Für Debian / Ubuntu habe ich die Installation wie folgt durchgeführt. ... weiterlesen
Docker-Container unter Windows starten: Docker Desktop
Docker-Container können mittlerweile auch unter Windows betrieben werden, dazu ist im Wesentlichen nur die Installation des „Docker Desktop“ notwendig. ... weiterlesen
Docker Container GUI grafische Weboberfläche mit Portainer
Ursprünglich habe ich Docker rein über die Kommandozeile verwaltet, was mit ein paar simplen Befehlen schon sehr einfach ist. Noch mehr Übersicht und eine komfortable Admin-Oberfläche liefert Portainer. Portainer selbst kann auch als Docker-Container gestartet werden und macht das Verwalten von Containern zum Kinderspiel. ... weiterlesen
Docker Befehle, Funktion und Betrieb
Docker-Befehle in der Praxis
Docker Container können mittels Terminal-Befehle gestartet, upgedatet und verwaltet werden. In dem Beitrag notiere ich Befehle, die ich bisher für Docker benötigt habe und entsprechende Beispiele dazu: ... weiterlesen
Docker Daten speichern: Docker Volumes vs. Host-Ordner
Ich betreibe eine handvoll Docker Container auf einem einzelnen Linux-Host. Docker-Container werden bei einem erneuten erstellen oder beim Austausch auf eine neuere Imageversion bekanntlich ausgetauscht und verlieren dabei alle geänderten Daten. Um bestimmte Ordner eines Containers permanent zu speichern, müssen diese über Volumes oder Bind-Mounts ausgelagert werden. Ich habe dazu meist bestimmte Pfade der Container in definierten Ordnern am Host verbunden (Bind-Mounts). Mit ein Grund für die Ve... ... weiterlesen
Praxis: Backup Docker Container-Daten: Volumes / Bind Mounts
In meinem Artikel „Alle Docker-Container: Host übersiedeln, Theorie und Praxis“, bin ich bereits ein klein wenig auf das Thema Backup eingegangen. Wer den Artikel verfolgt hat, weiß, dass ich die Daten meiner Docker-Container über Bind-Mounts auslagere und mit rsync sichere. Gestartet wird der Backup-Job über crontab. Doch zunächst habe ich mir Gedanken gemacht, was beim Einsatz von Docker in einem Single-Server-Setup eigentlich gesichert werden muss: ... weiterlesen
Docker Compose vs. Docker Swarm: verwenden und verstehen
Mit Docker Swarm können Nodes (Hosts) zu einem gemeinsamen Verbund zusammengefasst werden. Dies ermöglicht es Container in einer beliebigen Anzahl von Instanzen auf einer beliebigen Anzahl von Knoten (Hosts) im Netzwerk zu betrieben. Die Basis für die Kommunikation zwischen den Hosts bildet in Docker Swarm ein Overlay-Netzwerk für die Services: Multi-host networking. Wie in meinem Artikel zum Webserverumzug bereits angedeutet, habe ich Docker Swarm als mögliche Option f&... ... weiterlesen
Docker Swarm, Portainer und Traefik kombiniert
Wie bereits mehrfach auf dieser Seite erwähnt, verwende ich für den Zugriff auf meine Docker-Container primär den Reverse-Proxy Traefik. Um die Container in einer grafischen GUI verwalten zu können, habe ich zusätzlich Portainer im Einsatz. Für einen Single-Server passt das Setup so weit, wer aber mehrere Server einsetzen will, kann dazu Docker-Swarm verwenden. Ich habe dazu zunächst Portainer in Kombination mit Swarm getestet und das Setup um Traefik inklusive... ... weiterlesen
Laravel in Docker betreiben: eigenes Dockerfile erstellen
Nachdem die meisten Laravel-Docker-Container entweder mittels des PHP-eigenen Webserver betrieben werden und Laradock nicht so ganz zu meiner Nextcloud-Docker-Umgebung gepasst hatte, hab ich mir den Applikationscontainer selbst gebaut. Mit ein Grund war die Anforderung Python in das Paket zu integrieren. ... weiterlesen
Laradock als Laravel Entwicklungsumgebung
Mit Laradock einfach eine Laravel Entwicklungsumgebung starten ... weiterlesen