mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Filter containers by status.
A continuation of #7616. Adds `docker ps --filter=status=(restarting|running|paused|stopped)` option. Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
This commit is contained in:
parent
8128339bc8
commit
ea09f03682
5 changed files with 78 additions and 8 deletions
|
|
@ -28,6 +28,7 @@ func (daemon *Daemon) Containers(job *engine.Job) engine.Status {
|
|||
size = job.GetenvBool("size")
|
||||
psFilters filters.Args
|
||||
filt_exited []int
|
||||
filt_status []string
|
||||
)
|
||||
outs := engine.NewTable("Created", 0)
|
||||
|
||||
|
|
@ -45,6 +46,8 @@ func (daemon *Daemon) Containers(job *engine.Job) engine.Status {
|
|||
}
|
||||
}
|
||||
|
||||
filt_status, _ = psFilters["status"]
|
||||
|
||||
names := map[string][]string{}
|
||||
daemon.ContainerGraph().Walk("/", func(p string, e *graphdb.Entity) error {
|
||||
names[e.ID()] = append(names[e.ID()], p)
|
||||
|
|
@ -99,6 +102,11 @@ func (daemon *Daemon) Containers(job *engine.Job) engine.Status {
|
|||
return nil
|
||||
}
|
||||
}
|
||||
for _, status := range filt_status {
|
||||
if container.State.StateString() != strings.ToLower(status) {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
displayed++
|
||||
out := &engine.Env{}
|
||||
out.Set("Id", container.ID)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue