summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/podman/ps.go2
-rw-r--r--libpod/runtime_ctr.go6
2 files changed, 5 insertions, 3 deletions
diff --git a/cmd/podman/ps.go b/cmd/podman/ps.go
index d36c929e8..e53afe1bf 100644
--- a/cmd/podman/ps.go
+++ b/cmd/podman/ps.go
@@ -548,6 +548,8 @@ func getTemplateOutput(psParams []psJSONParams, opts shared.PsOptions) ([]psTemp
labels := formatLabels(psParam.Labels)
switch psParam.Status {
+ case libpod.ContainerStateExited.String():
+ fallthrough
case libpod.ContainerStateStopped.String():
exitedSince := units.HumanDuration(time.Since(psParam.ExitedAt))
status = fmt.Sprintf("Exited (%d) %s ago", psParam.ExitCode, exitedSince)
diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go
index b8a8b6c20..0fe896e5f 100644
--- a/libpod/runtime_ctr.go
+++ b/libpod/runtime_ctr.go
@@ -332,9 +332,9 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force bool)
label.ReleaseLabel(c.ProcessLabel())
r.reserveLabels()
}
- // Delete the container
- // Only do this if we're not ContainerStateConfigured - if we are,
- // we haven't been created in the runtime yet
+ // Delete the container.
+ // Not needed in Configured and Exited states, where the container
+ // doesn't exist in the runtime
if c.state.State != ContainerStateConfigured &&
c.state.State != ContainerStateExited {
if err := c.delete(ctx); err != nil {