2.8 KiB
Docker
Was ist Docker
Docker ist ein Tool, um eine Anwendung zusammen mit allem, was sie zum Ausführen benötigt (Code, Bibliotheken, Einstellungen), in einer einzigen Einheit namens Container zu verpacken.
Ein Container läuft immer auf die gleiche Weise, egal ob auf Ihrem Laptop, dem Rechner eines Teamkollegen oder einem Server in der Cloud. Dies löst das klassische „Auf meinem Rechner funktioniert es“-Problem.
Sie steuern Docker über das Terminal mit dem docker-Befehl.
Um zu prüfen, ob Docker verfügbar ist und um die Version anzuzeigen, führen Sie folgenden Befehl aus:
docker --version
Dies gibt die installierte Docker-Version aus und bestätigt, dass das Tool einsatzbereit ist.
Images und Container
Docker hat zwei Kernkonzepte, die zusammenarbeiten: Images und Container.
Ein Image ist eine schreibgeschützte Vorlage (ein Snapshot eines Dateisystems plus Anweisungen dazu, was ausgeführt werden soll). Ein Container ist eine laufende Instanz, die aus einem Image erstellt wurde. Ein Image kann viele Container starten, so wie eine Klasse viele Objekte erstellen kann.
Der einfachste Weg, dies zu sehen, besteht darin, einen Container aus dem hello-world Image auszuführen:
docker run hello-world
Docker nimmt das hello-world Image, startet einen Container daraus, und der Container gibt eine kurze Willkommensnachricht aus, bevor er beendet wird.
Images pullen
Bevor Sie einen Container ausführen können, benötigt Docker das Image auf Ihrem Rechner. Der Befehl docker pull lädt ein Image aus einer Registry (einer öffentlichen Bibliothek von Images) herunter:
docker pull alpine
Docker ruft das Image ab und meldet jede Ebene, sobald sie eintrifft, und schließt mit einer Statuszeile ab. Wenn Sie keine Version angeben, lädt Docker standardmäßig den Tag latest herunter.
Sie können eine spezifische Version mit image:tag anfordern:
docker pull alpine:3.20
Das Pulling eines bereits vorhandenen Images bestätigt lediglich, dass es aktuell ist, anstatt es erneut herunterzuladen.
Images auflisten
Um zu sehen, welche Images lokal verfügbar sind, verwendet man docker images:
docker images
Die Ausgabe ist eine Tabelle mit einer Zeile pro Image:
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest c8be21c88f2a 1 day ago 7.34MB
ubuntu latest 75afc20638b6 4 days ago 81.8MB
- REPOSITORY und TAG benennen das Image
- IMAGE ID ist eine kurze eindeutige Kennung
- SIZE gibt an, wie viel Speicherplatz das Image belegt
Um die Liste auf ein Repository einzugrenzen, übergibt man dessen Namen:
docker images alpine zeigt nur die alpine-Tags an.