如何根据图像过滤 docker 进程
How to filter docker process based on image
我一直在尝试使用 docker 进程命令获取 docker 实例的容器 ID,但是当我尝试使用 name 过滤器时对我来说很好。
sudo -S docker ps -q --filter="name=romantic_rosalind"
Results container id :
3c7e865f1dfb
但是当我使用 image 进行过滤时,我得到了所有实例容器 ID:
sudo -S docker ps -q --filter="image=docker-mariadb:1.0.1"
Results Container ids :
5570dc09b581
3c7e865f1dfb
但是我只想得到mariadb的容器id。
如何使用过滤器作为图像获取 docker 进程的容器 ID?
您可以使用awk
和grep
来过滤指定容器id。
例如:
docker ps | grep "docker-mariadb:1.0.1" | awk '{ print }'
这将打印您容器的 ID。
使用 "ancestor" 而不是 "image" 效果很好。示例:
sudo -S docker ps -q --filter ancestor=docker-mariadb:1.0.1
Docker 团队可能在上一个版本中添加了它:
http://docs.docker.com/engine/reference/commandline/ps/
docker ps -a | awk '{ print , }' | grep imagename | awk '{print }'
这太完美了。如果需要,您可以单独添加 运行 个特定状态的图像过滤器,如下所示
docker ps -a --filter=running | awk '{ print , }' | grep rulsoftreg:5000/mypayroll/cisprocessing-printdocsnotifyconsumer:latest | awk '{print }'
可以在此处探索各种其他过滤器选项
https://docs.docker.com/v1.11/engine/reference/commandline/ps/
使用命令 docker container ls
列出容器(这是 docker ps
的替代)解决方案是:
docker container ls | grep "docker-mariadb:1.0.1" | awk '{ print }'
您也可以像这样使用 *
符号(如果需要):
docker container ls | grep "docker-mariadb:*" | awk '{ print }'
见https://docs.docker.com/engine/reference/commandline/container_ls/
命令示例 >>> docker container ls -af 'name=mysql' --format '{{.ID}}'
我一直在尝试使用 docker 进程命令获取 docker 实例的容器 ID,但是当我尝试使用 name 过滤器时对我来说很好。
sudo -S docker ps -q --filter="name=romantic_rosalind"
Results container id :
3c7e865f1dfb
但是当我使用 image 进行过滤时,我得到了所有实例容器 ID:
sudo -S docker ps -q --filter="image=docker-mariadb:1.0.1"
Results Container ids :
5570dc09b581
3c7e865f1dfb
但是我只想得到mariadb的容器id。
如何使用过滤器作为图像获取 docker 进程的容器 ID?
您可以使用awk
和grep
来过滤指定容器id。
例如:
docker ps | grep "docker-mariadb:1.0.1" | awk '{ print }'
这将打印您容器的 ID。
使用 "ancestor" 而不是 "image" 效果很好。示例:
sudo -S docker ps -q --filter ancestor=docker-mariadb:1.0.1
Docker 团队可能在上一个版本中添加了它: http://docs.docker.com/engine/reference/commandline/ps/
docker ps -a | awk '{ print , }' | grep imagename | awk '{print }'
这太完美了。如果需要,您可以单独添加 运行 个特定状态的图像过滤器,如下所示
docker ps -a --filter=running | awk '{ print , }' | grep rulsoftreg:5000/mypayroll/cisprocessing-printdocsnotifyconsumer:latest | awk '{print }'
可以在此处探索各种其他过滤器选项
https://docs.docker.com/v1.11/engine/reference/commandline/ps/
使用命令 docker container ls
列出容器(这是 docker ps
的替代)解决方案是:
docker container ls | grep "docker-mariadb:1.0.1" | awk '{ print }'
您也可以像这样使用 *
符号(如果需要):
docker container ls | grep "docker-mariadb:*" | awk '{ print }'
见https://docs.docker.com/engine/reference/commandline/container_ls/
命令示例 >>> docker container ls -af 'name=mysql' --format '{{.ID}}'