Fix issue of filter in docker ps
where health=starting
returns nothing
This fix tries to address the issue raised in 35920 where the filter of `docker ps` with `health=starting` always returns nothing. The issue was that in container view, the human readable string (`HealthString()` => `Health.String()`) of health status was used. In case of starting it is `"health: starting"`. However, the filter still uses `starting` so no match returned. This fix fixes the issue by using `container.Health.Status()` instead so that it matches the string (`starting`) passed by filter. This fix fixes 35920. Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
parent
4459775eea
commit
97b16aecf9
1 changed files with 5 additions and 1 deletions
|
@ -295,6 +295,10 @@ func (v *memdbView) GetAllNames() map[string][]string {
|
||||||
// transform maps a (deep) copied Container object to what queries need.
|
// transform maps a (deep) copied Container object to what queries need.
|
||||||
// A lock on the Container is not held because these are immutable deep copies.
|
// A lock on the Container is not held because these are immutable deep copies.
|
||||||
func (v *memdbView) transform(container *Container) *Snapshot {
|
func (v *memdbView) transform(container *Container) *Snapshot {
|
||||||
|
health := types.NoHealthcheck
|
||||||
|
if container.Health != nil {
|
||||||
|
health = container.Health.Status()
|
||||||
|
}
|
||||||
snapshot := &Snapshot{
|
snapshot := &Snapshot{
|
||||||
Container: types.Container{
|
Container: types.Container{
|
||||||
ID: container.ID,
|
ID: container.ID,
|
||||||
|
@ -313,7 +317,7 @@ func (v *memdbView) transform(container *Container) *Snapshot {
|
||||||
Managed: container.Managed,
|
Managed: container.Managed,
|
||||||
ExposedPorts: make(nat.PortSet),
|
ExposedPorts: make(nat.PortSet),
|
||||||
PortBindings: make(nat.PortSet),
|
PortBindings: make(nat.PortSet),
|
||||||
Health: container.HealthString(),
|
Health: health,
|
||||||
Running: container.Running,
|
Running: container.Running,
|
||||||
Paused: container.Paused,
|
Paused: container.Paused,
|
||||||
ExitCode: container.ExitCode(),
|
ExitCode: container.ExitCode(),
|
||||||
|
|
Loading…
Reference in a new issue