Docker-Container und -Images verwalten

DockerDockerBeginner
Jetzt üben

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

Einführung

Docker hat die Art und Weise, wie wir Anwendungen entwickeln, bereitstellen und verwalten, revolutioniert. In diesem umfassenden Tutorial lernen Sie, wie Sie Docker-Container und -Images effektiv verwalten, vom Erstellen und Bereitstellen bis hin zur Überwachung und Fehlerbehebung. Ob Sie ein Anfänger oder ein erfahrener Docker-Benutzer sind, dieser Leitfaden wird Sie mit den notwendigen Fähigkeiten ausstatten, um die Kunst der Docker-Containerverwaltung zu meistern.

Einführung in Docker-Container

Was ist Docker?

Docker ist eine Open-Source-Plattform, die Entwicklern ermöglicht, Anwendungen in einer containerisierten Umgebung zu erstellen, bereitzustellen und auszuführen. Container sind leichte, portablen und selbst enthaltene Einheiten, die den Anwendungscode, die Abhängigkeiten und die Laufzeitumgebung verpacken, wodurch die Anwendung einfach zwischen verschiedenen Computing-Umgebungen verschoben werden kann.

Vorteile von Docker-Containern

  1. Konsistenz: Docker-Container stellen sicher, dass die Anwendung unabhängig von der zugrunde liegenden Infrastruktur auf dieselbe Weise ausgeführt wird.
  2. Skalierbarkeit: Container können leicht skaliert werden, um den sich ändernden Anforderungen gerecht zu werden.
  3. Effizienz: Container sind leichter und verbrauchen weniger Ressourcen als herkömmliche virtuelle Maschinen.
  4. Portabilität: Docker-Container können auf jedem System ausgeführt werden, das den Docker-Laufzeitumgebung unterstützt, wodurch die Anwendung einfach zwischen verschiedenen Umgebungen verschoben werden kann.

Docker-Architektur

Docker verwendet eine Client-Server-Architektur, bei der der Docker-Client mit dem Docker-Daemon (dem Server) kommuniziert, um verschiedene Operationen wie das Erstellen, Ausführen und Verwalten von Containern durchzuführen.

graph LD subgraph Docker Architektur client[Docker Client] daemon[Docker Daemon] registry[Docker Registry] client -- kommuniziert mit --> daemon daemon -- pull/push --> registry end

Docker-Komponenten

  1. Docker Images: Docker Images sind die Bausteine von Containern. Sie enthalten den Anwendungscode, die Abhängigkeiten und die Laufzeitumgebung.
  2. Docker Container: Container sind die laufenden Instanzen von Docker Images. Sie sind isoliert, leicht und portabel.
  3. Docker Registry: Docker Registry ist ein Speicher- und Verteilungssystem für Docker Images. Der beliebteste Registry ist Docker Hub, ein öffentlicher Registry von Docker.

Erste Schritte mit Docker

Um mit Docker zu beginnen, müssen Sie die Docker-Laufzeitumgebung auf Ihrem System installieren. Sie können Docker von der offiziellen Docker-Website (https://www.docker.com/get-started) herunterladen und installieren.

Sobald Docker installiert ist, können Sie mit der Erkundung und Arbeit mit Docker-Containern beginnen. Lassen Sie uns im nächsten Abschnitt lernen, wie man Docker-Images verwaltet.

Docker-Images verwalten

Docker-Images herunterladen

Um ein Docker-Image aus einem Registry herunterzuladen, verwenden Sie den Befehl docker pull:

docker pull ubuntu:22.04

Dies lädt das Image ubuntu:22.04 vom Docker Hub-Registry herunter.

Docker-Images erstellen

Sie können eigene Docker-Images mithilfe einer Dockerfile erstellen, einer Textdatei mit Anweisungen zum Erstellen des Images. Hier ist ein Beispiel für eine Dockerfile:

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y nginx
COPY index.html /var/www/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Um das Image zu erstellen, führen Sie den folgenden Befehl aus:

docker build -t my-nginx-app .

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

Docker-Images auflisten

Sie können alle Docker-Images auf Ihrem System mit dem Befehl docker images auflisten:

docker images

Dies zeigt eine Tabelle mit Informationen zu jedem Image, einschließlich Image-Name, Tag, Image-ID, Erstellungzeitpunkt und Größe.

Docker-Images beschriften

Sie können Docker-Images Tags hinzufügen, um sie besser zu organisieren und zu verwalten. Um ein Image zu beschriften, verwenden Sie den Befehl docker tag:

docker tag my-nginx-app:latest my-nginx-app:v1.0

Dies erstellt einen neuen Tag v1.0 für das Image my-nginx-app.

Docker-Images hochladen

Sobald Sie Ihr Docker-Image erstellt und beschriftet haben, können Sie es mit dem Befehl docker push in ein Registry hochladen:

docker push my-nginx-app:v1.0

Dies lädt das Image my-nginx-app:v1.0 in das Standard-Registry (Docker Hub) hoch.

Docker-Images löschen

Um ein Docker-Image zu löschen, verwenden Sie den Befehl docker rmi:

docker rmi my-nginx-app:v1.0

Dies löscht das Image my-nginx-app:v1.0 von Ihrem System.

Nachdem Sie nun gelernt haben, wie man Docker-Images verwaltet, können Sie im nächsten Abschnitt lernen, wie man Docker-Container ausführt und bereitstellt.

Ausführen und Bereitstellen von Docker-Containern

Docker-Container ausführen

Um einen Docker-Container auszuführen, verwenden Sie den Befehl docker run:

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

Dies startet einen neuen Container basierend auf dem Image my-nginx-app und ordnet den Port 80 des Hosts dem Port 80 im Container zu.

Sie können auch interaktive Container mit dem Flag -it ausführen:

docker run -it ubuntu:22.04 /bin/bash

Dies startet einen interaktiven Ubuntu-Container und gibt Ihnen eine Shell-Eingabeaufforderung innerhalb des Containers.

Laufende Container verwalten

Sie können alle laufenden Container mit dem Befehl docker ps auflisten:

docker ps

Um einen laufenden Container zu stoppen, verwenden Sie den Befehl docker stop:

docker stop my-nginx-app

Um einen gestoppten Container zu starten, verwenden Sie den Befehl docker start:

docker start my-nginx-app

Container-Logs anzeigen

Sie können die Logs eines laufenden Containers mit dem Befehl docker logs anzeigen:

docker logs my-nginx-app

Dies zeigt die Logs für den Container my-nginx-app an.

Befehle in Containern ausführen

Sie können Befehle innerhalb eines laufenden Containers mit dem Befehl docker exec ausführen:

docker exec -it my-nginx-app /bin/bash

Dies startet eine interaktive Shell-Sitzung innerhalb des Containers my-nginx-app.

Bereitstellen von Docker-Containern

Um Docker-Container in einer Produktionsumgebung bereitzustellen, können Sie Tools wie Docker Compose oder Kubernetes verwenden. Diese Tools helfen Ihnen, mehrere Container und deren Abhängigkeiten zu verwalten und zu orchestrieren.

Hier ist ein Beispiel für eine einfache Docker Compose-Datei:

version: "3"
services:
  web:
    image: my-nginx-app
    ports:
      - "80:80"
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: password

Sie können diese Konfiguration mit dem Befehl docker-compose up bereitstellen.

Mit Docker Compose oder Kubernetes können Sie Ihre Anwendungen in einer containerisierten Umgebung einfach skalieren, verwalten und bereitstellen.

Summary

In this tutorial, you have learned the fundamentals of managing Docker containers and images. You now know how to build, deploy, and maintain your Docker-based applications, ensuring they run smoothly and efficiently. By leveraging the power of Docker, you can streamline your development and deployment processes, leading to increased productivity and scalability. Continue to explore and experiment with Docker to further enhance your skills and unlock the full potential of this transformative technology.