Was ist Docker und warum ist es relevant für IT-Admins?
Docker ist eine Container-Plattform, die Anwendungen mit all ihren Abhängigkeiten in isolierten, portablen Containern verpackt. Der Unterschied zu VMs: Container teilen sich den OS-Kernel und starten in Sekunden statt Minuten.
Warum Container für KMU relevant sind
Früher war Docker primär für Entwickler interessant. Heute setzen IT-Admins Docker für folgende Zwecke ein:
- Self-Hosted Services: Nextcloud, Bitwarden, Gitea, Monitoring-Tools in Minuten starten
- Isolierte Anwendungen: Jeder Dienst läuft in seinem eigenen Container, Konflikte unmöglich
- Schnelles Testing: Neues Tool ausprobieren ohne Installation auf dem Host
- Einfaches Backup: Container-Daten in Volumes sichern
- Portabilität: Funktioniert auf Linux, Windows Server 2019+ und Mac identisch
Docker installieren
Auf Ubuntu/Debian Linux (Server)
apt-get update && apt-get install -y ca-certificates curl gnupg curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin systemctl enable --now docker
Auf Windows Server 2022
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force Install-Package -Name docker -ProviderName DockerMsftProvider -Force Restart-Computer
Auf Windows 10/11 (Docker Desktop)
Docker Desktop für Windows von docker.com herunterladen und installieren. Ermöglicht Linux-Container auf Windows via WSL2.
Grundlegende Docker-Konzepte
Image
Ein Docker-Image ist die Vorlage für einen Container – ähnlich einer ISO-Datei. Images werden aus Dockerfiles gebaut oder aus der Docker Hub Registry heruntergeladen.
Container
Ein Container ist eine laufende Instanz eines Images – ähnlich einer gestarteten VM. Container sind kurzlebig; Daten, die nicht in Volumes liegen, gehen beim Löschen verloren.
Volume
Volumes sind persistente Speicherbereiche außerhalb des Containers. Wichtige Daten (Datenbanken, Konfigurationsdateien) immer in Volumes speichern!
Docker Hub
Docker Hub (hub.docker.com) ist die öffentliche Image-Registry mit zehntausenden vorgefertigten Images.
Die wichtigsten Docker-Befehle
Container starten
docker run -d --name mein-container -p 8080:80 nginx
-d= Detached Mode (Hintergrund)--name= Container-Name-p 8080:80= Host-Port:Container-Port Mappingnginx= Image-Name
Container auflisten
docker ps # Laufende Container docker ps -a # Alle Container (auch gestoppte)
Container-Logs anzeigen
docker logs mein-container docker logs -f mein-container # Live-Logs verfolgen
In Container einloggen (Shell öffnen)
docker exec -it mein-container bash
Container stoppen und löschen
docker stop mein-container docker rm mein-container
Image herunterladen und auflisten
docker pull ubuntu:22.04 docker images
Praxisbeispiel: Nextcloud mit Docker
Nextcloud ist eine Self-Hosted Cloud-Lösung. Mit Docker in 5 Minuten installiert:
docker run -d --name nextcloud -p 8080:80 -v nextcloud-data:/var/www/html nextcloud:latest
Zugriff über http://server-ip:8080 – Nextcloud ist sofort verfügbar!
Docker Compose – mehrere Container verwalten
Für komplexere Setups (z. B. App + Datenbank) verwenden Sie Docker Compose.
Erstellen Sie eine Datei docker-compose.yml:
`version: '3.8'
services:
db:
image: mariadb:10.11
restart: always
volumes:
- db-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: sicheres-root-passwort
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: sicheres-nc-passwort
nextcloud:
image: nextcloud:latest
restart: always
ports:
- "8080:80"
volumes:
- nextcloud-data:/var/www/html
depends_on:
- db
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: sicheres-nc-passwort
volumes:
db-data:
nextcloud-data:`
Start mit:docker compose up -d
Alle Container stoppen:docker compose down
Container-Updates durchführen
docker compose pull # Neue Images herunterladen docker compose up -d # Container mit neuen Images neu starten
Portainer – Docker GUI
Für Admins ohne viel Kommandozeilen-Erfahrung ist Portainer eine grafische Oberfläche für Docker:
docker run -d -p 9000:9000 --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v portainer-data:/data portainer/portainer-ce
Portainer unter http://server-ip:9000 aufrufen, Admin-Passwort setzen, fertig.
Container-Backups
Volumes sichern:
docker run --rm -v nextcloud-data:/data -v /backup:/backup ubuntu tar cvf /backup/nextcloud-$(date +%Y%m%d).tar /data
Oder einfacher: Volume-Verzeichnisse in /var/lib/docker/volumes/ mit Ihrem regulären Backup-Tool sichern.
FAQ
Was ist der Unterschied zwischen Docker und Kubernetes?
Docker führt Container auf einzelnen Hosts aus. Kubernetes orchestriert Container über viele Hosts für automatisches Scaling und Hochverfügbarkeit. Für KMU reicht Docker aus – Kubernetes ist für Enterprise-Umgebungen.
Ist Docker unter Windows genauso leistungsfähig wie unter Linux?
Linux-Container auf Windows laufen via WSL2 und sind nahezu gleich schnell. Für Server-Einsatz empfehlen wir jedoch Linux als Host-Betriebssystem.
Sind Docker Container sicher?
Docker-Container sind isoliert, aber kein Ersatz für VM-Isolation. Container teilen den Kernel des Hosts. Für maximale Isolation nutzen Sie Firewall-Regeln und laufen Sie Docker nie als Root.
Fazit
Docker hat die Art verändert, wie IT-Admins Services deployen. Mit Docker Compose können komplexe Infrastrukturen mit wenigen Zeilen YAML definiert und in Minuten gestartet werden.
Als IT-Dienstleister in Heidelberg beraten und implementieren wir Docker-basierte Infrastrukturen für Unternehmen in Mannheim, Ludwigshafen und der Rhein-Neckar-Region. Jetzt Beratung anfragen.