Alles erweitert
This commit is contained in:
+41
@@ -71,3 +71,44 @@ ubuntu latest 75afc20638b6 4 days ago 81.8MB
|
||||
Um die Liste auf ein Repository einzugrenzen, übergibt man dessen Namen:
|
||||
|
||||
`docker images alpine` zeigt nur die `alpine`-Tags an.
|
||||
|
||||
## Images taggen
|
||||
|
||||
Ein **Tag** ist eine benutzerfreundliche Bezeichnung, die auf ein Image verweist. Der Befehl `docker tag` gibt einem bestehenden Image einen zusätzlichen Namen:
|
||||
|
||||
```bash
|
||||
docker tag alpine:3.21 myalpine:v1
|
||||
```
|
||||
|
||||
Dies kopiert das Image nicht. Es erstellt einen neuen Namen, `myalpine:v1`, der auf dasselbe zugrunde liegende Image verweist wie `alpine:3.21`. Beide erscheinen nun in `docker images`.
|
||||
|
||||
Das Format ist `docker tag SOURCE:TAG TARGET:TAG`. Mit Tags geben Sie Ihren eigenen Builds aussagekräftige Versionsnamen wie `v1`, `dev` oder `stable`.
|
||||
|
||||
## Einen Befehl ausführen
|
||||
|
||||
Man kann einem Container genau sagen, welcher Befehl ausgeführt werden soll, indem man ihn nach dem Imagenamen hinzufügt:
|
||||
|
||||
```bash
|
||||
docker run alpine echo "hello from a container"
|
||||
```
|
||||
|
||||
Docker startet einen Container aus dem `alpine`-Image, führt darin `echo "hello from a container"` aus, gibt die Ausgabe aus und beendet anschließend den Container. Die Struktur lautet:
|
||||
|
||||
```bash
|
||||
docker run IMAGE COMMAND [ARGUMENTS]
|
||||
```
|
||||
|
||||
Dies ist das alltägliche Muster für die Verwendung eines Containers als Wegwerfumgebung: Starten, ausführen eines Befehls und stoppen.
|
||||
|
||||
### Echte Ausführung
|
||||
|
||||
Befehle innerhalb eines Containers werden tatsächlich ausgeführt und nicht nur als vorgetäuschte Ausgabe wiedergegeben. Du kannst das beweisen, indem du dem Container eine Shell und ein kleines Skript übergibst:
|
||||
|
||||
```bash
|
||||
docker run alpine sh -c "echo abc | tr a-z A-Z"
|
||||
docker run alpine sh -c "seq 3"
|
||||
```
|
||||
|
||||
Hier führt `sh -c` eine Shell-Befehlszeichenfolge innerhalb des Containers aus. Die Shell leitet `abc` an `tr` weiter, was es in Großbuchstaben umwandelt, sodass die Ausgabe `ABC` ist.
|
||||
|
||||
Das bedeutet, dass Sie Pipes, Variablen und die Befehlszeilenwerkzeuge, die Sie bereits kennen, direkt im Container verwenden können.
|
||||
|
||||
Reference in New Issue
Block a user