Docker Container benennen: 3 Tipps für Anfänger

Einführung

Wenn Sie einen Docker-Container erstellen, wird ihm eine universell eindeutige Kennung (UUID) zugewiesen. Diese sind wichtig, um Namenskonflikte zu vermeiden und die Automatisierung ohne menschliches Eingreifen zu fördern. Sie identifizieren Container effektiv für den Host und das Netzwerk. Der Mensch muss sich jedoch mehr Mühe geben, um zu unterscheiden, ob in der von Menschen lesbaren Langanzeige mit 64 Zeichen oder in der häufiger angezeigten Kurzform mit 12 Zeichen, die etwa285c9f0f9d3d aussehen könnte.

Um den Menschen zu helfen, liefert Docker auch Container mit einem zufällig generierten Namen aus zwei Wörtern, die durch einen Unterstrich, z. evil_ptolemy. Dies kann es einfacher machen, einen Container von einem anderen zu unterscheiden, aber die zufälligen Namen geben keinen besseren Einblick in die Containerfunktion als die UUID.

Im Folgenden finden Sie drei Tipps, mit denen Sie sich beim Umgang mit Containern leichter zurechtfinden können.

1 - Benennen Sie den Container, wenn Sie ihn ausführen

Durch Hinzufügen von--name=meaningful_name zum Befehldocker run wird einevil_ptolomy in interaktiven Sitzungen sowie in der Ausgabe von Befehlen wiedocker ps besser erkennbar. Es gibt jedoch Einschränkungen. Da Containernamen eindeutig sein müssen, können Sie keine absichtliche Benennung verwenden und einen Dienst über einen Container hinaus skalieren.

In der Befehlszeile oder in einer Docker-Datei:
docker run --name=meaningful_name

Wenn wir beispielsweise einen Container basierend auf dem Basis-Image vonnginxausgeführt und wie folgt gestartet haben:

docker run --name nginx -d nginx

Der Name wird in der Liste der ausgeführten Container angezeigt:

docker ps
OutputCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
08f333ef7216        nginx               "nginx -g 'daemon off"   15 seconds ago      Up 14 seconds       80/tcp, 443/tcp      nginx

Während der Name in der Ausgabe vondocker ps angezeigt wird und zum Verwalten des Containers verwendet werden kann, wird er nicht in der Eingabeaufforderung des Containers angezeigt, wenn Sie ihn anhängen oder in Protokolldateien. Dazu müssen Sie auch einen Hostnamen zuweisen.

2 - Weisen Sie dem Container einen Hostnamen zu

Der für den Befehl--hostname angegebene Wert wird innerhalb von/etc/hostname und/etc/hosts im Container festgelegt. Folglich wird es in der Eingabeaufforderung angezeigt. Es spielt eine Rolle bei der Konfiguration voncontainer DNS und kann in den Lernphasen eines Multi-Container-Setups hilfreich sein. Der Zugriff von außerhalb des Containers ist nicht einfach, wird jedoch in den Protokolldateien des Containers angezeigt. Wenn diese Dateien auf ein vom Host unabhängiges Volume geschrieben werden, kann dies die Identifizierung des Containers erleichtern.

CLI and Dockerfile:
docker run --hostname=value ORdocker run -h value

Während--name und--hostname beide zur Identifizierung von Containern nützlich sind, geht es manchmal überhaupt nicht darum, den Container zu benennen. Es geht vielmehr darum, dass ein Container nach dem anderen aufgeräumt wird, ohne dass Sie sich daran erinnern müssen, es selbst zu tun.

3 - Container beim Verlassen automatisch löschen

Beim Debuggen ist es hilfreich, dass ein angehaltener Container nach dem Beenden bestehen bleibt. Sie können Daten wie Protokolldateien aufbewahren und den Endzustand des Containers untersuchen. Manchmal wissen Sie jedoch, wenn Sie den Container ausführen, dass Sie ihn nicht mehr benötigen, wenn Sie fertig sind. In diesem Fall können Sie das Flag--rm verwenden, um es beim Beenden automatisch zu löschen. Dies kann es einfacher machen, die Dinge sauber zu halten.

Sei aber vorsichtig! Wenn Sie Docker-Volumes verwenden, entfernt--rm allevolumes NOT specified by name.

CLI und Dockerfile:
docker run --rm

Dies ist sehr nützlich, wenn Sie ein Image erstellen und eine Verbindung zu einem laufenden Container herstellen müssen. Sie möchten sich umsehen und Ihre Festplatte nicht mit Containern füllen, die Sie nicht mehr verwenden möchten.

Fazit

Diese drei Flags fürdocker run,--name,--hostname und--rm können es auf ihre Weise einfacher machen, zu wissen, was was ist, wenn Sie Docker lernen. Weitere Informationen zu Containern und zum Arbeiten mit dem Befehldocker runfinden Sie im HandbuchWorking with Docker Containers.