podman-healthcheck(1)

πŸ’… podman-healthcheck β€” manage healthchecks for containers 🩺✨

okay so bestie, welcome to the podman healthcheck suite of commands β€” it's literally the whole toolkit for managing container healthchecks, from the General Commands Manual (yes that's the vibe, we're fancy here) πŸŽ€

podman healthcheck subcommand

✨ DESCRIPTION ✨

The podman healthcheck commands are used to manage container healthchecks. That's the whole assignment, and they ate. πŸ’…

Healthchecks are typically sourced from images β€” so if you wanna spot one, use podman image inspect and peek at the image's Config section. iykyk. πŸ”

You can also define healthchecks yourself when creating a container via podman run or podman create, like:

  • --health-cmd β€” sets the check command (the string form runs via CMD-SHELL; the array form uses CMD) 🫢
  • --health-interval, --health-timeout, --health-retries, --health-start-period β€” the whole timing squad ⏱️
  • --no-healthcheck β€” nukes an image-defined healthcheck, no cap πŸ™ˆ
  • Startup 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 gives you a grace period during container initialization, where failures won't mark the container as unhealthy. it's giving "give her a minute to wake up" β˜•

Startup healthcheck is a separate healthcheck that runs during container startup and then 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 β€” and yes, it requires a regular healthcheck to also be set πŸ‘‘
  • The startup healthcheck cannot be sourced from an image; it can only be set manually, periodt
  • Once the startup healthcheck succeeds (based on --health-startup-success consecutive successes), it stops and the regular healthcheck takes over πŸ¦‹
  • If 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-period for simple cases where you know roughly how long startup takes πŸ“
  • Use the startup healthcheck (--health-startup-cmd) when startup time is unpredictable, or when you need a different check during startup than during normal operation 🌈

To debug or inspect healthchecks:

  • Use podman inspect <container> and view .Config.Healthcheck for the effective settings. Other relevant sections are .State.Healthcheck, Config.StartupHealthCheck, .Config.HealthcheckOnFailureAction, .Config.HealthMaxLogCount, .Config.HealthMaxLogSize, and .Config.HealthLogDestination 🧚
  • Use podman inspect --format '{{.State.Health.Status}} {{.Config.Healthcheck}}' <container> to show current health status and healthcheck config πŸ‘€
  • Trigger 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 running πŸ’«
  • Example: podman update --health-max-log-count=10 <container> to store up to 10 healthcheck results in the log πŸ“

πŸ¦‹ SUBCOMMANDS πŸ¦‹

not me turning the table into a list, but every detail is staying, don't worry bestie πŸ’–


πŸ‘‘ SEE ALSO πŸ‘‘

podman(1), podman-run(1), podman-create(1), podman-inspect(1), podman-update(1) β€” go read them, they're iconic ✨


πŸ’œ HISTORY πŸ’œ

Feb 2019, originally compiled by Brent Baude bbaude@redhat.com ⟨mailto:bbaude@redhat.com⟩ β€” thank you Brent, king behavior 🌟


and that's the whole page, bestie 🫢 the footer's just chilling there as podman-healthcheck(1), so consider this your official sign-off from the General Commands Manual β€” stay healthy, stay hydrated, and check your containers πŸ’…πŸŽ€πŸ’–

πŸ“¦ where this page comes from