Docker Container-Management unter Ubuntu meistern

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses umfassende Docker-Tutorial bietet Entwicklern und Systemadministratoren eine detaillierte Anleitung zum Verständnis und zur Implementierung der Docker-Containertechnologie. Durch die Erkundung der Kernkonzepte, der Architektur und praktischer Implementierungsstrategien erwerben die Lernenden essentielle Fähigkeiten für moderne Softwareentwicklungs- und -bereitstellungsumgebungen.

Docker-Grundlagen

Einführung in Docker-Basics

Docker ist eine leistungsstarke Plattform für Containertechnologie, die die Software-Containerisierung revolutioniert. Sie ermöglicht es Entwicklern, Anwendungen mit allen Abhängigkeiten zu verpacken und so eine konsistente Leistung in verschiedenen Computing-Umgebungen sicherzustellen.

Kernkonzepte von Docker

Was ist Docker?

Docker ist eine Open-Source-Plattform, die Containerisierung verwendet, um die Bereitstellung und Verwaltung von Anwendungen zu vereinfachen. Im Gegensatz zu traditionellen virtuellen Maschinen teilen Docker-Container den Kernel des Host-Systems, was sie leicht und effizient macht.

graph TD A[Anwendungscode] --> B[Docker-Container] B --> C[Host-Betriebssystem] C --> D[Hardware]

Wichtige Docker-Komponenten

Komponente Beschreibung Zweck
Docker Engine Core-Laufzeitumgebung Verwaltet den Container-Lebenszyklus
Docker Image Leichtgewichtiges Template Definiert die Containerkonfiguration
Docker Container Ausführbare Instanz Führt die Anwendung aus

Docker-Architektur

Docker verwendet eine Client-Server-Architektur mit mehreren wichtigen Komponenten:

  • Docker Daemon: Verwaltet Docker-Objekte
  • Docker Client: Sendet Befehle an den Docker Daemon
  • Docker Registry: Speichert Docker-Images

Grundlegende Docker-Befehle

Beispiel für Docker-Befehle unter Ubuntu 22.04:

## Docker installieren
sudo apt-get update
sudo apt-get install docker.io

## Docker-Version prüfen
docker --version

## Ein Ubuntu-Image ziehen
docker pull ubuntu:22.04

## Einen Container starten
docker run -it ubuntu:22.04 /bin/bash

## Laufende Container auflisten
docker ps

## Einen Container stoppen
docker stop [container_id]

Vorteile der Docker-Containerisierung

  • Konsistente Entwicklungsumgebungen
  • Schnellere Bereitstellung
  • Ressourceneffizienz
  • Verbesserte Skalierbarkeit
  • Vereinfachte Abhängigkeitsverwaltung

Docker-Umgebungsaufbau

Vorbereitung von Ubuntu 22.04 für die Docker-Installation

Docker benötigt eine kompatible Linux-Umgebung. Ubuntu 22.04 bietet eine hervorragende Plattform für die Containerbereitstellung mit unkomplizierten Installationsverfahren.

Systemanforderungen

Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Ihr Ubuntu-System die folgenden Voraussetzungen erfüllt:

Anforderung Spezifikation
Betriebssystem Ubuntu 22.04 LTS
Architektur 64-Bit
Kernel 5.4 oder höher
RAM Mindestens 2 GB

Docker-Installationsmethoden

graph TD A[Docker-Installation] --> B[Repository-Methode] A --> C[Paket-Methode] A --> D[Skript-Methode]

Installationsvorgang über das Repository

## Aktualisierung vorhandener Pakete
sudo apt-get update

## Installation der benötigten Abhängigkeiten
sudo apt-get install ca-certificates curl gnupg lsb-release

## Hinzufügen des offiziellen Docker-GPG-Schlüssels
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

## Einrichtung des stabilen Repositorys
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

## Installation von Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Überprüfung der Docker-Installation

## Docker-Version prüfen
docker --version

## Überprüfung, ob Docker läuft
sudo systemctl status docker

## Test der Docker-Installation
sudo docker run hello-world

Konfiguration nach der Installation

## Hinzufügen des aktuellen Benutzers zur Docker-Gruppe
sudo usermod -aG docker $USER

## Neustart des Docker-Dienstes
sudo systemctl restart docker

Docker Compose-Installation

## Herunterladen von Docker Compose
sudo curl -L " -s)-$(uname -m)" -o /usr/local/bin/docker-compose

## Anwenden von ausführbaren Berechtigungen
sudo chmod +x /usr/local/bin/docker-compose

## Überprüfung der Installation
docker-compose --version

Docker-Image-Verwaltung

Verständnis von Docker-Images

Docker-Images sind leichte, eigenständige, ausführbare Pakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird. Sie dienen als Blaupausen für die Erstellung von Containern.

graph TD A[Dockerfile] --> B[Docker-Image] B --> C[Docker-Container]

Befehle zur Imageverwaltung

Befehl Funktion
docker images Lokale Images anzeigen
docker pull Images herunterladen
docker push Images hochladen
docker rmi Images löschen

Erstellen eines Dockerfiles

## Auswahl des Basis-Images
FROM ubuntu:22.04

## Metadaten
LABEL maintainer="[email protected]"

## Systemupdates
RUN apt-get update && apt-get upgrade -y

## Installation von Abhängigkeiten
RUN apt-get install -y python3 python3-pip

## Arbeitsverzeichnis setzen
WORKDIR /app

## Kopieren der Anwendungsdateien
COPY . /app

## Installation der Anwendungsabhängigkeiten
RUN pip3 install -r requirements.txt

## Anwendungsport freigeben
EXPOSE 8000

## Startbefehl definieren
CMD ["python3", "app.py"]

Erstellen von Docker-Images

## Erstellen des Images aus dem Dockerfile
docker build -t myapp:v1 .

## Lokale Images anzeigen
docker images

## Kennzeichnung eines bestehenden Images
docker tag myapp:v1 myregistry/myapp:latest

Arbeitsablauf der Imageverwaltung

graph LR A[Code entwickeln] --> B[Dockerfile erstellen] B --> C[Image erstellen] C --> D[Container testen] D --> E[Auf Registry pushen] E --> F[Container bereitstellen]

Erweiterte Image-Operationen

## Exportieren des Images in ein Tar-Archiv
docker save -o myimage.tar myimage:v1

## Importieren des Images aus dem Tar-Archiv
docker load -i myimage.tar

## Entfernen von nicht benötigten Images
docker image prune

Interaktion mit dem Docker Registry

## Anmeldung bei Docker Hub
docker login

## Hochladen des Images auf das Registry
docker push myusername/myimage:tag

## Herunterladen des Images vom Registry
docker pull myusername/myimage:tag

Zusammenfassung

Docker stellt eine revolutionäre Methode zur Software-Containerisierung dar und bietet Entwicklern eine leistungsstarke Plattform für die Erstellung konsistenter, effizienter und skalierbarer Anwendungsumgebungen. Durch das Verständnis der Kernkomponenten, der Architektur und der Befehle von Docker können Fachkräfte ihre Entwicklungsworkflows optimieren, die Ressourcenverwaltung verbessern und eine flexiblere Softwarebereitstellung über verschiedene Computing-Plattformen hinweg erreichen.