Docker-Images-Grundlagen
Docker-Images verstehen
Docker-Images sind grundlegende Komponenten der Containertechnologie und dienen als schreibgeschützte Vorlagen zur Erstellung von Containern. Diese leichten, portablen Pakete kapseln Anwendungscode, Laufzeitumgebung, Systemtools, Bibliotheken und Einstellungen, die für die Softwareausführung erforderlich sind.
Image-Architektur und Layers
Docker-Images bestehen aus mehreren schreibgeschützten Layers, die Änderungen am Dateisystem repräsentieren:
graph TD
A[Basis-Layer] --> B[Anwendungs-Layer]
B --> C[Konfigurations-Layer]
C --> D[Laufzeit-Layer]
Layer-Typ |
Beschreibung |
Zweck |
Basis-Layer |
Root-Dateisystem |
Bietet die Betriebssystemgrundlage |
Anwendungs-Layer |
Softwarepakete |
Enthält anwendungsspezifische Abhängigkeiten |
Konfigurations-Layer |
Umgebungseinstellungen |
Definiert Laufzeitkonfigurationen |
Docker-Images mit Dockerfile erstellen
Beispiel-Dockerfile für eine Python-Webanwendung:
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y python3 python3-pip
WORKDIR /app
COPY . /app
RUN pip3 install -r requirements.txt
EXPOSE 5000
CMD ["python3", "app.py"]
Befehle zum Erstellen und Verwalten von Images
Wichtige Docker-Image-Verwaltungsbefehle für Ubuntu:
## Image erstellen
docker build -t myapp:latest .
## Lokale Images auflisten
docker images
## Image löschen
docker rmi myapp:latest
## Image von Docker Hub ziehen
docker pull ubuntu:22.04
Image-Speicherung und Versionierung
Docker-Images verwenden eindeutige Identifikatoren und unterstützen die Versionierung über Tags, was eine präzise Imageverwaltung und Bereitstellung in verschiedenen Umgebungen ermöglicht.