Docker Installation auf einem System

DockerDockerBeginner
Jetzt üben

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

Einführung

Docker ist eine leistungsstarke Containerisierungsplattform, die die Art und Weise, wie Entwickler Anwendungen erstellen, bereitstellen und verwalten, revolutioniert hat. In diesem Tutorial lernen Sie, wie Sie Docker auf Ihrem System installieren und mit dem Ausführen Ihres ersten Docker-Containers beginnen.

Docker verstehen

Docker ist eine beliebte Open-Source-Plattform, die Entwicklern ermöglicht, Anwendungen in einer containerisierten Umgebung zu erstellen, bereitzustellen und auszuführen. Container sind leichte, eigenständige und ausführbare Softwarepakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird, einschließlich Code, Laufzeitumgebung, Systemtools und Bibliotheken.

Was ist Docker?

Docker ist ein Werkzeug, das die Erstellung, Bereitstellung und Ausführung von Anwendungen mithilfe von Containern vereinfacht. Container ermöglichen es einem Entwickler, eine Anwendung mit allen benötigten Komponenten wie Bibliotheken und anderen Abhängigkeiten zu verpacken und als ein Paket auszuliefern.

Vorteile der Verwendung von Docker

  1. Konsistenz: Docker-Container gewährleisten, dass Anwendungen unabhängig von der zugrunde liegenden Infrastruktur auf dieselbe Weise ausgeführt werden.
  2. Skalierbarkeit: Docker erleichtert die Skalierung von Anwendungen nach Bedarf, verbessert die Ressourcenauslastung und senkt die Kosten.
  3. Portabilität: Docker-Container können auf jedem System ausgeführt werden, auf dem Docker installiert ist, was den Transport von Anwendungen zwischen verschiedenen Umgebungen vereinfacht.
  4. Effizienz: Docker-Container sind leichtgewichtig und verbrauchen weniger Ressourcen als virtuelle Maschinen, was die Gesamtleistung des Systems verbessert.

Docker-Architektur

Docker verwendet eine Client-Server-Architektur, bei der der Docker-Client mit dem Docker-Daemon kommuniziert, der für die Erstellung, Ausführung und Verteilung von Docker-Containern zuständig ist.

graph LD client[Docker Client] daemon[Docker Daemon] registry[Docker Registry] client -- API --> daemon daemon -- Pull/Push --> registry

Docker-Komponenten

  1. Docker Images: Docker-Images sind die Blaupausen für die Erstellung von Docker-Containern. Sie enthalten den Anwendungscode, die Abhängigkeiten und alle anderen notwendigen Dateien.
  2. Docker Container: Docker-Container sind die laufenden Instanzen von Docker-Images. Sie sind leichtgewichtig, portabel und autark.
  3. Docker Registry: Docker Registry ist ein Speicher- und Verteilungssystem für Docker-Images. Der beliebteste Registry ist Docker Hub, der eine umfangreiche Sammlung öffentlicher Images hostet.

Erste Schritte mit Docker

Um mit Docker zu beginnen, müssen Sie die Docker Engine auf Ihrem System installieren. Der Installationsvorgang variiert je nach Betriebssystem. Im nächsten Abschnitt werden wir die Installation von Docker auf einem Linux-System behandeln.

Docker auf Ihrem System installieren

In diesem Abschnitt führen wir Sie durch den Prozess der Docker-Installation auf einem Ubuntu 22.04 System.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Ihr System die folgenden Anforderungen erfüllt:

  • Ubuntu 22.04 Betriebssystem
  • Root- oder sudo-Rechte zum Installieren und Verwalten von Docker

Schritt 1: Aktualisierung des Paketindex

Beginnen Sie mit der Aktualisierung des Paketindex Ihres Systems:

sudo apt-get update

Schritt 2: Docker installieren

Installieren Sie die notwendigen Pakete, damit apt einen Repository über HTTPS verwenden kann:

sudo apt update
sudo apt-get install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

Fügen Sie den offiziellen Docker GPG-Schlüssel hinzu:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Richten Sie das Docker Repository ein:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Installieren Sie die Docker Engine, containerd und Docker Compose Pakete:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Schritt 3: Installation überprüfen

Überprüfen Sie, ob Docker korrekt installiert ist, indem Sie den folgenden Befehl ausführen:

sudo docker run hello-world

Dieser Befehl lädt ein Test-Image herunter und führt es in einem Container aus, wodurch die korrekte Funktion Ihrer Docker-Installation bestätigt wird.

Herzlichen Glückwunsch! Sie haben Docker erfolgreich auf Ihrem Ubuntu 22.04 System installiert. Im nächsten Abschnitt werden wir untersuchen, wie Sie Ihren ersten Docker-Container starten.

Ihren ersten Docker-Container ausführen

Nachdem Sie Docker auf Ihrem System installiert haben, lernen wir nun, wie Sie Ihren ersten Docker-Container ausführen.

Einen Container ausführen

Um einen Docker-Container auszuführen, verwenden Sie den Befehl docker run. Dieser Befehl zieht das angegebene Image vom Docker-Registry herunter (sofern es noch nicht auf Ihrem System vorhanden ist) und startet einen neuen Container basierend auf diesem Image.

Beginnen wir mit der Ausführung eines einfachen "Hello World"-Containers:

docker run hello-world

Dieser Befehl lädt das hello-world-Image vom Docker Hub-Registry herunter und führt einen Container basierend auf diesem Image aus. Der Container zeigt die Nachricht "Hello from Docker!" an und beendet sich anschließend.

Interaktion mit Containern

Sie können mit laufenden Containern über verschiedene Docker-Befehle interagieren:

  • docker ps: Listet alle laufenden Container
  • docker stop <container_id>: Stoppt einen laufenden Container
  • docker start <container_id>: Startet einen gestoppten Container
  • docker exec -it <container_id> /bin/bash: Öffnet eine Shell innerhalb eines laufenden Containers

Um beispielsweise eine Shell innerhalb eines laufenden Containers zu öffnen, verwenden Sie den folgenden Befehl:

docker exec -it < container_id > /bin/bash

Dies öffnet eine Shell-Eingabeaufforderung innerhalb des Containers, sodass Sie das Dateisystem und die laufenden Prozesse des Containers erkunden und steuern können.

Erstellen und Ausführen eigener Images

Neben der Ausführung vorinstallierter Images können Sie auch Ihre eigenen benutzerdefinierten Docker-Images erstellen. Dazu benötigen Sie eine Dockerfile, eine Textdatei mit Anweisungen zur Erstellung des Images.

Hier ist ein einfaches Beispiel für eine Dockerfile:

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Diese Dockerfile erstellt ein neues Image basierend auf dem Ubuntu 22.04 Basis-Image, installiert den Nginx-Webserver, exponiert Port 80 und startet den Nginx-Dienst beim Ausführen des Containers.

Um das Image zu erstellen, verwenden Sie den Befehl docker build:

docker build -t my-nginx-app .

Dies erstellt ein neues Image mit dem Tag my-nginx-app.

Um den Container basierend auf diesem Image auszuführen, verwenden Sie den Befehl docker run:

docker run -d -p 80:80 my-nginx-app

Dies startet einen neuen Container, ordnet Port 80 des Hosts dem Port 80 im Container zu und führt den Nginx-Webserver aus.

Herzlichen Glückwunsch! Sie haben nun gelernt, wie Sie Ihren ersten Docker-Container ausführen und mit ihm interagieren. In den nächsten Schritten können Sie erweiterte Docker-Konzepte erkunden, wie z. B. das Erstellen eigener benutzerdefinierter Images, die Verwaltung von Containernetzwerken und die Bereitstellung von Multi-Container-Anwendungen.

Zusammenfassung

Mit dieser schrittweisen Anleitung erhalten Sie ein fundiertes Verständnis von Docker und seinem Installationsprozess. Sie können Docker auf Ihrem System einrichten, Ihren ersten Container ausführen und die Vorteile der Containerisierung kennenlernen. Dieser Leitfaden ist eine wertvolle Ressource für Entwickler, Systemadministratoren und alle, die die Leistungsfähigkeit von Docker nutzen möchten.