Docker Tutorial auf Linux: Ein Leitfaden für Anfänger

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

  1. 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

  1. 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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert