Erstellen und Verwalten von Docker-Images
Docker-Images verstehen
Docker-Images sind die Grundlage für containerisierte Anwendungen. Ein Image ist eine schreibgeschützte Vorlage, die eine Reihe von Anweisungen zum Erstellen eines Docker-Containers enthält. Images werden verwendet, um Anwendungen zusammen mit allen notwendigen Abhängigkeiten, Bibliotheken und Konfigurationsdateien zu verpacken und zu verteilen.
Docker-Images erstellen
Um ein Docker-Image zu erstellen, müssen Sie eine Dockerfile
erstellen, eine Textdatei, die die Anweisungen zum Erstellen des Images enthält. Hier ist ein Beispiel für eine Dockerfile
:
FROM ubuntu:latest
RUN apt-get update && apt-get install -y nginx
COPY index.html /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Diese Dockerfile
wird Folgendes tun:
- Das neueste Ubuntu-Image als Basis-Image verwenden.
- Das Paketindex aktualisieren und den Nginx-Webserver installieren.
- Eine
index.html
-Datei in das Standard-Webverzeichnis von Nginx kopieren.
- Den Port 80 für den Nginx-Webserver freigeben.
- Den Befehl zum Starten des Nginx-Webservers festlegen.
Um das Image zu erstellen, führen Sie den folgenden Befehl aus:
docker build -t my-nginx-image .
Dies erstellt das Image mit dem Tag my-nginx-image
.
Docker-Images verwalten
Sobald Sie Ihr Docker-Image erstellt haben, können Sie es mit folgenden Befehlen verwalten:
- Images auflisten:
docker images
Dieser Befehl listet alle Docker-Images auf Ihrem System auf.
- Ein Image in einen Registry pushen:
docker push my-nginx-image
Dieser Befehl pusht das my-nginx-image
in einen Docker-Registry, wie z. B. Docker Hub.
- Ein Image von einem Registry ziehen:
docker pull my-nginx-image
Dieser Befehl zieht das my-nginx-image
von einem Docker-Registry.
- Ein Image entfernen:
docker rmi my-nginx-image
Dieser Befehl entfernt das my-nginx-image
von Ihrem System.
Image-Layers und Caching
Docker-Images werden in Schichten (Layers) erstellt, wobei jede Schicht einen Schritt im Erstellungsprozess darstellt. Dieser Layered-Ansatz ermöglicht effizientes Caching und die Wiederverwendung von Zwischenschritten, was den Erstellungsprozess erheblich beschleunigen kann.
graph TD
subgraph Docker Image Layers
base[Basis-Image]
layer1[Schicht 1]
layer2[Schicht 2]
layer3[Schicht 3]
layer1 --> base
layer2 --> layer1
layer3 --> layer2
end
Durch das Verständnis der Konzepte von Docker-Images und deren Erstellung und Verwaltung können Sie Ihre Anwendungen effektiv als containerisierte Lösungen verpacken und verteilen.