Docker-Images-Grundlagen
Docker-Images verstehen
Docker-Images sind grundlegende Bausteine der Containertechnologie und dienen als schreibgeschützte Vorlagen zur Erstellung von Containern. Diese leichten, portablen Pakete kapseln Anwendungscode, Laufzeitumgebung, Bibliotheken und Systemtools, die für die Softwareausführung erforderlich sind.
Image-Struktur und Komponenten
Docker-Images bestehen aus mehreren Schichten, die jeweils eine Reihe von Dateisystemänderungen darstellen. Diese geschichtete Architektur ermöglicht eine effiziente Speicherung und eine schnelle Containerbereitstellung.
graph TD
A[Basis-Layer] --> B[Anwendungsschicht]
B --> C[Konfigurationsschicht]
C --> D[Laufzeit-Layer]
Wichtige Image-Komponenten
Komponente |
Beschreibung |
Zweck |
Basis-Image |
Grundlegendes Betriebssystem |
Bietet grundlegende Systembibliotheken |
Anwendungsschicht |
Software und Abhängigkeiten |
Enthält anwendungsspezifische Code |
Konfigurationsschicht |
Umgebungseinstellungen |
Definiert Laufzeitparameter |
Docker-Images erstellen
Beispiel für die Erstellung eines einfachen Python-Webanwendungs-Images unter Ubuntu 22.04:
## Projektverzeichnis erstellen
mkdir web-app
cd web-app
## Dockerfile erstellen
touch Dockerfile
Dockerfile-Inhalt:
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]
Befehle zur Imageverwaltung
Wichtige Befehle zur Docker-Imageverwaltung:
## Image von Docker Hub ziehen
docker pull ubuntu:22.04
## Lokale Images auflisten
docker images
## Image aus Dockerfile erstellen
docker build -t web-app:v1 .
## Spezifisches Image entfernen
docker rmi web-app:v1
Laufzeitumgebungsüberlegungen
Docker-Images bieten konsistente Laufzeitumgebungen über verschiedene Entwicklungs- und Bereitstellungsplattformen hinweg, wodurch die Portabilität der Anwendungen sichergestellt und Herausforderungen wie "funktioniert auf meinem Rechner" minimiert werden.