这个命令给了我一个 running container * ID * 的列表:
docker ps -q
字符串是否有一个命令来获取容器的 * 名称 * 列表?
ctzwtxfj1#
docker ps --format "{{.Names}}"
字符串
9lowa7mx2#
您可以将docker ps与docker inspect结合使用,正如我之前在“How do you list containers in Docker.io?“中提到的:
docker ps
docker inspect
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc) docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc) | cut -c2-
字符串正如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
型从moby/moby issue 6705:“检查”显示了 Docker 如何处理集装箱的内部详细信息。名称的前缀是其父代和/ ==“docker守护进程”。这就是为什么每个名字都有这个前缀。当嵌套和多主机开始发挥作用时,这一点将更加重要。对于inspect命令,/是正确的。因此是| cut -c2-。最近(2017年6月),有一个删除' / '的提案(moby/moby issue 29997):由于历史原因(主要是由于遗留的容器链接),前面的斜线会出现在那里到目前为止(2018年6月),还没有完全实施PR来摆脱领先的“/”。
| cut -c2-
vyswwuz23#
你可以用这个受this question启发的命令来做到这一点:
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
mm9b1k5b4#
你也可以使用awk:
docker ps -a | awk '{print $NF}'
字符串$NF表示输入的最后一列,在docker ps -a命令中为Names。
$NF
docker ps -a
ve7v8dk25#
您可以使用以下命令来显示容器的名称
docker ps -a --format "table {{.ID}}\t{{.Names}}"
字符串以下是有关ps命令https://docs.docker.com/engine/reference/commandline/ps/的更多信息的参考链接
ilmyapht6#
我的要求是获取容器用户名登录容器(我需要使用docker exec -it --user登录容器),使用docker inspect + container id和grepuser或name,然后获取容器用户名登录容器。范例:
docker exec -it --user
container id
grep
user
name
# docker inspect 5791b95933ef |grep -i user
jk9hmnmh7#
docker ps -a --format "{{.Names}}" --filter="id=<id>"
字符串ID是容器ID。示例化容器时将名称作为环境变量传递
7条答案
按热度按时间ctzwtxfj1#
字符串
9lowa7mx2#
您可以将
docker ps
与docker inspect
结合使用,正如我之前在“How do you list containers in Docker.io?“中提到的:字符串
正如Chris Stryczynski所注解的,它将打印带有“
/
”作为前缀的名称。型
从moby/moby issue 6705:
“检查”显示了 Docker 如何处理集装箱的内部详细信息。
名称的前缀是其父代和
/
==“docker守护进程”。这就是为什么每个名字都有这个前缀。
当嵌套和多主机开始发挥作用时,这一点将更加重要。
对于inspect命令,
/
是正确的。因此是
| cut -c2-
。最近(2017年6月),有一个删除'
/
'的提案(moby/moby issue 29997):由于历史原因(主要是由于遗留的容器链接),前面的斜线会出现在那里
到目前为止(2018年6月),还没有完全实施PR来摆脱领先的“
/
”。vyswwuz23#
你可以用这个受this question启发的命令来做到这一点:
字符串
mm9b1k5b4#
你也可以使用awk:
字符串
$NF
表示输入的最后一列,在docker ps -a
命令中为Names。ve7v8dk25#
您可以使用以下命令来显示容器的名称
字符串
以下是有关ps命令https://docs.docker.com/engine/reference/commandline/ps/的更多信息的参考链接
ilmyapht6#
我的要求是获取容器用户名登录容器(我需要使用
docker exec -it --user
登录容器),使用docker inspect
+container id
和grep
user
或name
,然后获取容器用户名登录容器。范例:
字符串
jk9hmnmh7#
字符串
ID是容器ID。
示例化容器时将名称作为环境变量传递