Dieser Befehl gibt mir eine Liste von running container IDs :
docker ps -q
Gibt es einen Befehl, um die Liste der Namen der Container abzurufen?
docker ps --format "{{.Names}}"
Sie können docker ps
mit docker inspect
kombinieren, wie bereits erwähnt in " Wie listen Sie Container in Docker.io auf? ":
docker inspect --format='{{.Name}}' $(Sudo docker ps -aq --no-trunc)
docker inspect --format='{{.Name}}' $(Sudo docker ps -aq --no-trunc) | cut -c2-
Wie kommentiert von Chris Stryczynski , werden Namen mit einem "/
" als Präfix gedruckt.
[email protected]:~$ docker inspect --format='{{.Name}}' $(Sudo docker ps -aq --no-trunc)
/k8s_kubernetes-dashboard_kubernetes-dashboard-d9d8f48bc-vz59c_kube-system_b2abc584-730a_0
/k8s_POD_kubernetes-dashboard-d9d8f48bc-vz59c_kube-system_b2abc584-_0
/k8s_metrics-server_metrics-server-6fbfb84cdd-sjrgr_kube-system_e147bf91-7218-11e8-8266_0
/k8s_POD_metrics-server-6fbfb84cdd-sjrgr_kube-system_e147bf91-7218-11e8-8266-00155d380143_0
Aus moby/moby Ausgabe 6705 :
Inspect legt die inneren Details der Handhabung des Containers im Andockfenster offen.
Namen werden mit dem übergeordneten Element und/
== "dem Docker-Dämon" vorangestellt.
Deshalb wird jedem Namen dieses Präfix vorangestellt.
Dies wird wichtiger, wenn Verschachtelung und Multihost ins Spiel kommen.
Der/
ist für den Befehl inspect korrekt.
Daher der | cut -c2-
.
In jüngerer Zeit (Juni 2017) gibt es einen Vorschlag ( moby/moby Ausgabe 29997 ) zur Entfernung des '/
':
der führende Schrägstrich ist aus historischen Gründen vorhanden (hauptsächlich wegen der älteren Container-Verknüpfung)
Bisher (Juni 2018) wurde keine PR vollständig implementiert, um den führenden "/
" zu beseitigen.
Sie könnten dies mit diesem Befehl tun, der von dieser Frage inspiriert wurde:
docker inspect --format='{{.Name}}' $(Sudo docker ps -aq --no-trunc)
Sie können den folgenden Befehl verwenden, um die Namen des Containers anzuzeigen
docker ps -a --format "table {{.ID}}\t{{.Names}}"
Hier finden Sie einen Referenzlink für weitere Informationen zu ps command https://docs.docker.com/engine/reference/commandline/ps/
Sie können es auch mit awk machen:
docker ps -a | awk '{print $NF}'
$NF
gibt die letzte Spalte der Eingabe an, die im Befehl docker ps -a
Namen lautet.
Meine Anforderung ist, den Container-Benutzernamen zu erhalten, um sich im Container anzumelden. Verwenden Sie Docker inspect + "container id" und grep "user" oder "name". Dann können Sie den Container User Name aufrufen und sich in den Container einloggen . Beispiel:
# docker inspect 5791b95933ef |grep -i user