Docker An einen laufenden Container anhängen


Beispiel

"Anhängen an einen Container" ist das Starten einer Terminalsitzung innerhalb des Kontexts, in dem der Container (und alle darin enthaltenen Programme) ausgeführt wird. Dies wird hauptsächlich zu Debugging-Zwecken verwendet, kann aber auch erforderlich sein, wenn bestimmte Daten an Programme übergeben werden müssen, die im Container ausgeführt werden.

Der Befehl zum attach wird dazu verwendet. Es hat diese Syntax:

docker attach <container>

<container> kann entweder die Container-ID oder der Containername sein. Zum Beispiel:

docker attach c8a9cf1a1fa8

Oder:

docker attach graceful_hopper

Abhängig von Ihrem Benutzer und der Einrichtung des sudo die obigen Befehle möglicherweise erneut sudo .

Anmerkung: Mit "Anhängen" kann nur eine einzelne Shell-Sitzung zu einem Zeitpunkt an einen Container angehängt werden.

Achtung: Alle Tastatureingaben werden an den Container weitergeleitet. Wenn Sie Strg-c drücken , wird der Container gelöscht.

Um sich von einem angefügten Container zu lösen, drücken Sie nacheinander die Tasten Strg-p und dann Strg-q

Um mehrere Shellsitzungen an einen Container anzuhängen, oder einfach als Alternative, können Sie exec . Verwenden der Container-ID:

docker exec -i -t c8a9cf1a1fa8 /bin/bash

Verwenden des Containernamens:

docker exec -i -t graceful_hopper /bin/bash

exec führt ein Programm innerhalb eines Containers aus, in diesem Fall /bin/bash (eine Shell (vermutlich eine des Containers)). -i bezeichnet eine interaktive Sitzung, während -t einen Pseudo-TTY zuweist.

Hinweis: Im Gegensatz zu attach wird durch Drücken von Strg-c der Befehl " exec " d nur bei interaktiver Ausführung beendet.