Grundlagen von Docker-Images
Verständnis der Grundlagen von Docker-Images
Docker-Images sind Kernkomponenten der Containertechnologie und dienen als schreibgeschützte Vorlagen, die vorkonfigurierte Softwareumgebungen und Anwendungsabhängigkeiten enthalten. Diese Images ermöglichen es Entwicklern, konsistente und reproduzierbare Bereitstellungsumgebungen auf verschiedenen Computing-Plattformen zu erstellen.
Hauptkomponenten von Docker-Images
graph TD
A[Docker-Image] --> B[Basis-Layer]
A --> C[Anwendungsschicht]
A --> D[Konfigurationsschicht]
Schichttyp |
Beschreibung |
Zweck |
Basis-Layer |
Betriebssystem-Fundament |
Bietet grundlegende Systembibliotheken |
Anwendungsschicht |
Softwarepakete |
Enthält Anwendungsabhängigkeiten |
Konfigurationsschicht |
Laufzeiteinstellungen |
Definiert Container-Ausführungsparameter |
Erstellen von Docker-Images mit Dockerfile
Beispiel-Dockerfile für eine Python-Anwendung:
## Verwendung des offiziellen Ubuntu-Basis-Images
FROM ubuntu:22.04
## Festlegung des Arbeitsverzeichnisses
WORKDIR /app
## Installation der System-Abhängigkeiten
RUN apt-get update && apt-get install -y \
python3 \
python3-pip
## Kopieren der Anwendungsdateien
COPY . /app
## Installation der Python-Abhängigkeiten
RUN pip3 install -r requirements.txt
## Definition des Ausführungskommandos
CMD ["python3", "app.py"]
Image-Erstellungsprozess
So erstellen Sie ein Docker-Image aus dem Dockerfile:
## Erstellen des Images mit Tag
docker build -t myapp:v1 .
## Auflisten der erstellten Images
docker images
Image-Schichtmechanismus
Docker-Images werden mithilfe eines Layered-Ansatzes erstellt, wobei jede Anweisung im Dockerfile eine neue Schicht erzeugt. Dieses Design ermöglicht eine effiziente Speicherung und schnelle Image-Updates durch die Wiederverwendung vorhandener Schichten.
Speicherung und Verwaltung von Images
Docker speichert Images in lokalen Repositories, die mit Befehlen wie docker images
, docker rmi
und docker pull
verwaltet werden können. Images können von lokalen Systemen oder Remote-Registern wie Docker Hub bezogen werden.