Docker ist eine beliebte Open-Source-Plattform, die es ermöglicht, Anwendungen in Containern zu entwickeln, bereitzustellen und auszuführen. Container sind leichtgewichtige, portierbare und eigenständige Umgebungen, die auf einem Host-System ausgeführt werden. Dieses Tutorial führt dich Schritt für Schritt durch die Installation von Docker unter Linux und zeigt dir, wie du Container verwaltest und erstellst.
Voraussetzungen:
- Ein Linux-basiertes System (z.B. Ubuntu, Debian, Fedora)
- Grundlegende Linux-Kenntnisse
- Root- oder Sudo-Rechte
1. Docker Installation
1.1. Docker-Installation auf Ubuntu und Debian
- Aktualisiere dein System:
sudo apt update
sudo apt upgrade
Installiere erforderliche Pakete:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Füge den offiziellen Docker-Repository-Schlüssel hinzu:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Füge das Docker-Repository zu deinen Paketquellen hinzu:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Installiere Docker:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Starte und aktiviere den Docker-Dienst:
sudo systemctl start docker
sudo systemctl enable docker
Überprüfe die Docker-Installation:
sudo docker --version
1.2. Docker Installation auf Fedora
- Aktualisiere dein System:
sudo dnf -y update
Installiere Docker:
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
Starte und aktiviere den Docker-Dienst:
sudo systemctl start docker
sudo systemctl enable docker
Überprüfe die Installation:
sudo docker --version
2. Erste Schritte mit Docker
2.1. Prüfen, ob Docker läuft
Nachdem Docker installiert wurde, kannst du den Docker-Daemon überprüfen:
sudo systemctl status docker
Wenn Docker läuft, wird dies durch eine grüne Ausgabe mit dem Status active (running)
angezeigt.
2.2. Docker ohne sudo
ausführen
Um Docker ohne sudo
verwenden zu können, füge deinen Benutzer zur Docker-Gruppe hinzu:
sudo usermod -aG docker $USER
Melde dich ab und wieder an, damit die Änderungen wirksam werden.
2.3. Test: „Hello World“-Container
Um sicherzustellen, dass Docker korrekt funktioniert, führe den hello-world
-Container aus:
docker run hello-world
Wenn alles ordnungsgemäß funktioniert, siehst du eine Ausgabe, die besagt, dass Docker erfolgreich Container ausführt.
3. Grundlegende Docker-Befehle
3.1. Docker Images
Docker-Images sind die Bausteine von Containern. Du kannst Docker-Images aus dem offiziellen Docker Hub herunterladen oder eigene Images erstellen.
- Suche nach Images:
docker search ubuntu
Image herunterladen (pull):
docker pull ubuntu
Alle heruntergeladenen Images anzeigen:
docker images
3.2. Docker Container
Container sind laufende Instanzen von Docker-Images.
- Einen Container starten:
docker run -it ubuntu
Dies startet eine interaktive Shell (/bin/bash
) im Ubuntu-Container.
Hintergrund (detached) Container starten:
docker run -d ubuntu sleep 1000
Laufende Container anzeigen:
docker ps
Alle Container anzeigen (auch gestoppte):
docker ps -a
Container stoppen:
docker stop <container_id>
Container löschen:
docker rm <container_id>
3.3. Docker Volumes
Docker-Volumes werden verwendet, um Daten zwischen Containern und dem Host-System zu teilen.
- Ein Volume erstellen:
docker volume create my_volume
Ein Volume an einen Container anhängen:
docker run -d -v my_volume:/data ubuntu
Alle Volumes anzeigen:
docker volume ls
4. Dockerfile: Eigene Images erstellen
Ein Dockerfile ist eine Textdatei, die die Schritte zur Erstellung eines Docker-Images enthält.
4.1. Beispiel Dockerfile
Erstelle eine Datei mit dem Namen Dockerfile
:
# Verwende das offizielle Ubuntu Image als Basis
FROM ubuntu:latest
# Installiere Apache
RUN apt-get update && apt-get install -y apache2
# Setze den Standard-Port
EXPOSE 80
# Starte den Apache-Dienst
CMD ["apache2ctl", "-D", "FOREGROUND"]
4.2. Docker Image erstellen
Erstelle ein Image aus dem Dockerfile:
docker build -t my_apache .
4.3. Container aus dem erstellten Image starten
Nachdem das Image erstellt wurde, kannst du einen Container daraus starten:
docker run -d -p 8080:80 my_apache
Jetzt kannst du über den Browser auf http://localhost:8080
auf den Apache-Server zugreifen.
5. Nützliche Docker-Befehle
- Container logs anzeigen:
docker logs <container_id>
In einen laufenden Container einsteigen:
docker exec -it <container_id> /bin/bash
Container pausieren und fortsetzen:
docker pause <container_id>
docker unpause <container_id>
Container neu starten:
docker restart <container_id>
Alle Container stoppen:
docker stop $(docker ps -q)
6. Docker Compose: Mehrere Container verwalten
Docker Compose wird verwendet, um Multi-Container-Anwendungen zu definieren und zu verwalten.
6.1. Installation von Docker Compose
sudo apt install docker-compose
6.2. Beispiel docker-compose.yml
Erstelle eine docker-compose.yml
Datei:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
6.3. Docker Compose-Befehle
- Container hochfahren:
docker-compose up
Container im Hintergrund starten:
docker-compose up -d
Container stoppen:
docker-compose down
Fazit
Docker ist ein leistungsstarkes Tool, das die Entwicklung, Bereitstellung und Verwaltung von Anwendungen erheblich vereinfacht. In diesem Tutorial hast du gelernt, wie du Docker installierst, Container erstellst und verwaltest sowie wie du Docker Compose für Multi-Container-Anwendungen verwendest.