cor*_*rey 35 linux containers docker
此命令为我提供了运行容器ID的列表:
docker ps -q
Run Code Online (Sandbox Code Playgroud)
是否有命令来获取容器名称列表?
Von*_*onC 14
你可以结合docker ps
使用docker inspect
,正如我之前在" 如何在Docker.io中列出容器? " 中提到的那样:
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc) | cut -c2-
Run Code Online (Sandbox Code Playgroud)
正如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
Run Code Online (Sandbox Code Playgroud)
Inspect暴露了docker如何处理容器的内部细节.
名称以其父级和/
=="docker守护程序" 为前缀.
这就是为什么每个名字都有这个前缀.
当嵌套和多主机发挥作用时,这将更加重要.
在/
该检查命令是否正确.
因此| cut -c2-
.
最近(2017年6月),有一项提案(moby/moby issue 29997)用于删除' /
':
由于历史原因,主要的斜线存在(主要是因为传统的容器链接)
到目前为止(2018年6月),没有PR完全实施以摆脱领先' /
'.
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
Run Code Online (Sandbox Code Playgroud)
你也可以使用 awk:
docker ps -a | awk '{print $NF}'
Run Code Online (Sandbox Code Playgroud)
$NF
表示输入的最后一列,在docker ps -a
命令中是名称。
您可以使用以下命令来显示容器的名称
docker ps -a --format "table {{.ID}}\t{{.Names}}"
Run Code Online (Sandbox Code Playgroud)
这是有关 ps 命令的更多信息的参考链接 https://docs.docker.com/engine/reference/commandline/ps/
归档时间: |
|
查看次数: |
40788 次 |
最近记录: |