如果我运行sudo doccker ps
,我会得到这个
[user@vm1 ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8ff73dec1d5 portal-mhn:latest "nginx -g 'daemon of…" 43 minutes ago Up 43 minutes portal-mhn_portal-mhn.1.4rsfv94wy97gb333q3kfyxz32
62a7cf09d7bf portal-admin:latest "nginx -g 'daemon of…" 43 minutes ago Up 43 minutes portal-admin_portal-admin.1.s62iep4gl5g5oj2hrap14kz1t
我正在尝试获取基于ImageName的容器ID。
例如,是否可以通过命令行获取portal-mhn:latest的容器ID?它是e8ff73dec1d5
3条答案
按热度按时间ycl3bljg1#
如果您想根据映像名称获取容器ID,则应执行以下操作:
或者甚至:
正如其他人所建议的,您也可以使用
ancestor
过滤器直接按图像名称进行过滤:感谢@kevin-cui和@Yu-chen。
ahy6op9u2#
可接受的答案是有效的,但您可能有一个命名错误的容器名称,它的名称中包含
postgres
,但实际上运行的是一个完全不同的映像,因为答案只使用grep
来查找匹配行。您可以使用Docker内置的
filter
标志:-q
标志表示仅返回容器ID(安静模式)。zkure5ic3#
我只需要通过映像名称获取最新运行的容器ID,包括停止的容器:
在docker中,
-a
包含所有容器(甚至停止的)。在grep中,-m
只匹配第一种情况。干杯!