此命令为我提供正在运行容器 ID 的列表:
docker ps -q
是否有命令获取容器的名称列表?
答案 0 :(得分:41)
docker ps --format "{{.Names}}"
答案 1 :(得分:12)
您可以将docker ps
与docker inspect
结合使用,如前所述" How do you list containers in Docker.io?":
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc) | cut -c2-
commented作为Chris Stryczynski,它将使用' /
'打印名称。作为前缀。
vagrant@master:~$ 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
检查公开了码头工人如何处理集装箱的内部细节 名称以其父级和
/
==" docker守护程序"为前缀。 这就是为什么每个名字都有这个前缀 当嵌套和多主机发挥作用时,这将更加重要/
对于inspect命令是正确的。
因此| cut -c2-
。
最近(2017年6月),有一项提案(moby/moby issue 29997)用于删除&{39; /
':
由于历史原因(主要是因为传统的容器链接),导致斜杠存在
到目前为止(2018年6月),还没有完全实施公关以摆脱领先的/
'
答案 2 :(得分:8)
你可以使用this question启发的这个命令来做到这一点:
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
答案 3 :(得分:2)
您可以使用以下命令显示容器的名称
docker ps -a --format "table {{.ID}}\t{{.Names}}"
此处是有关ps命令的更多信息的参考链接 https://docs.docker.com/engine/reference/commandline/ps/
答案 4 :(得分:1)
您也可以使用awk做到这一点:
docker ps -a | awk '{print $NF}'
$NF
表示输入的最后一列,在docker ps -a
命令中是名称。
答案 5 :(得分:1)
我的要求是获取容器用户名来登录到容器(我需要使用“ docker exec -it --user”来登录容器)。使用docker inspect +“容器ID”和grep“用户”或“名称”,然后您可以获得容器用户名并登录到容器中。 示例:
with tf.device('/cpu:0'):