Grundlagen von Docker-Images
Docker-Images verstehen
Docker-Images sind grundlegende Komponenten der Containertechnologie. Sie dienen als schreibgeschützte Vorlagen, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird. Diese Images beinhalten den Anwendungscode, die Laufzeitumgebung, Bibliotheken, Umgebungsvariablen und Konfigurationsdateien.
Aufbau und Schichten von Images
Docker-Images werden mithilfe einer mehrschichtigen Architektur erstellt, die eine effiziente Speicherung und Übertragung ermöglicht. Jede Schicht repräsentiert eine Reihe von Änderungen am Dateisystem.
graph TD
A[Basis-Image-Schicht] --> B[Anwendungsschicht]
B --> C[Konfigurationsschicht]
C --> D[Laufzeit-Schicht]
Wichtige Komponenten von Images
Komponente |
Beschreibung |
Zweck |
Basis-Image |
Grundlegendes Betriebssystem |
Bietet grundlegende Systembibliotheken |
Anwendungsdateien |
Quellcode und Abhängigkeiten |
Definiert den Anwendungsinhalt |
Metadaten |
Image-Konfiguration |
Steuert den Containerstart |
Erstellen eines Docker-Images: Praktisches Beispiel
Hier ist ein umfassendes Dockerfile, das die Imageerstellung auf Ubuntu 22.04 demonstriert:
## Verwendung des offiziellen Ubuntu-Basis-Images
FROM ubuntu:22.04
## Festlegung des Arbeitsverzeichnisses
WORKDIR /app
## Aktualisierung der Systempakete
RUN apt-get update && apt-get install -y \
python3 \
python3-pip
## Kopieren der Anwendungsdateien
COPY . /app
## Installieren der Abhängigkeiten
RUN pip3 install -r requirements.txt
## Definition des Startbefehls
CMD ["python3", "app.py"]
Mechanismus der Imageschichten
Beim Erstellen von Images erstellt Docker Zwischenschichten für jede Anweisung. Dieser Ansatz ermöglicht:
- Effiziente Speicherung
- Schnellere Build-Zeiten
- Vereinfachte Versionsverwaltung
Identifizierung von Images
Docker-Images werden eindeutig durch Folgendes identifiziert:
- Repository-Name
- Tag
- Image-ID (Hash)
Beispiel: ubuntu:22.04
repräsentiert eine bestimmte Ubuntu-Imageversion.