NAME¶
podman-healthcheck - Manage healthchecks for containers
SYNOPSIS¶
podman healthcheck subcommand
DESCRIPTION¶
The podman healthcheck suite of commands are used to manage container healthchecks.
Healthchecks are typically sourced from images. Use podman image inspect to identify a healthcheck in the image’s Config section.
Healthchecks can also be defined when creating a container via podman run or podman create using:
--health-cmdto set the check command (string form runs via CMD-SHELL; array form uses CMD)--health-interval,--health-timeout,--health-retries,--health-start-period--no-healthcheckto disable an image-defined healthcheckStartup healthcheck knobs:
--health-startup-cmd,--health-startup-interval,--health-startup-retries,--health-startup-success,--health-startup-timeout
Startup Healthcheck vs Regular Healthcheck¶
Regular healthcheck runs continuously throughout the container’s lifetime to monitor ongoing health. The --health-start-period option provides a grace period during container initialization where failures won’t mark the container as unhealthy.
Startup healthcheck is a separate healthcheck that runs during container startup and transitions to the regular healthcheck once the container has successfully started. It’s designed for containers with extended or unpredictable startup times:
Define it with
--health-startup-cmd(requires a regular healthcheck to also be set)The startup healthcheck cannot be sourced from an image; it can only be set manually
Once the startup healthcheck succeeds (based on
--health-startup-successconsecutive successes), it stops and the regular healthcheck takes overIf it fails too many times (
--health-startup-retries), the container can be restarted based on--health-on-failure
When to use each:
Use
--health-start-periodfor simple cases where you know roughly how long startup takesUse startup healthcheck (
--health-startup-cmd) when startup time is unpredictable or you need a different check during startup than during normal operation
To debug or inspect healthchecks:
Use
podman inspect <container>and view.Config.Healthcheckfor the effective settings. Other relevant sections are.State.Healthcheck,Config.StartupHealthCheck,.Config.HealthcheckOnFailureAction,.Config.HealthMaxLogCount,.Config.HealthMaxLogSize, and.Config.HealthLogDestinationUse
podman inspect --format '{{.State.Health.Status}} {{.Config.Healthcheck}}' <container>to show current health status and healthcheck configTrigger on-demand with
podman healthcheck run <container>and check the exit code (0=success, 1=failure, 125=error)To get more details on why a healthcheck failed, run
podman --log-level debug healthcheck run <container>
Ensure the health command exists inside the container and is quoted properly (prefer single quotes for shell pipelines)
To update healthchecks:
Use
podman update <flag> <container>to update the healthcheck settings of a container while the container is runningExample:
podman update --health-max-log-count=10 <container>to store up to 10 healthcheck results in the log
SUBCOMMANDS¶
Command |
Man Page |
Description |
|---|---|---|
run |
Run a container healthcheck |
SEE ALSO¶
podman(1), podman-run(1), podman-create(1), podman-inspect(1), podman-update(1)
HISTORY¶
Feb 2019, Originally compiled by Brent Baude bbaude@redhat.com