Docker-Images-Grundlagen
Docker-Images verstehen
Docker-Images sind grundlegend für die Containertechnologie. Sie sind leichte, eigenständige und ausführbare Pakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird. Diese Images kapseln Anwendungscode, Laufzeitumgebung, Bibliotheken, Umgebungsvariablen und Konfigurationsdateien.
Hauptbestandteile von Docker-Images
graph TD
A[Docker-Image] --> B[Basis-Layer]
A --> C[Anwendungsschicht]
A --> D[Konfigurationsschicht]
Bestandteil |
Beschreibung |
Zweck |
Basis-Layer |
Betriebssystem-Grundlage |
Bietet grundlegende Systembibliotheken |
Anwendungsschicht |
Software und Abhängigkeiten |
Enthält Anwendungscode und Laufzeitumgebung |
Konfigurationsschicht |
Umgebungseinstellungen |
Definiert Laufzeitkonfigurationen |
Erstellen eines einfachen Docker-Images
Beispiel Dockerfile für Ubuntu 22.04:
## Verwendung des offiziellen Ubuntu-Basis-Images
FROM ubuntu:22.04
## Festlegung des Arbeitsverzeichnisses
WORKDIR /app
## Installation der benötigten Pakete
RUN apt-get update && apt-get install -y \
python3 \
python3-pip
## Kopieren der Anwendungsdateien
COPY . /app
## Installation der Anwendungsabhängigkeiten
RUN pip3 install -r requirements.txt
## Definition des Standardbefehls
CMD ["python3", "app.py"]
Imageschichten und Optimierung
Docker-Images werden mithilfe der Layered-Filesystem-Technologie erstellt. Jeder Befehl in einem Dockerfile erstellt eine neue Schicht, die sich auf die Gesamtgröße und Leistung des Images auswirkt. Die Minimierung von Schichten und die Verwendung effizienter Befehle tragen zur Erstellung optimierter Images bei.
Befehle zur Imageverwaltung
## Lokale Images auflisten
docker images
## Image aus dem Registry ziehen
docker pull ubuntu:22.04
## Image aus dem Dockerfile erstellen
docker build -t myapp:latest .
## Entfernen eines bestimmten Images
docker rmi myapp:latest