Jump to content

Linux/Docker/Healthcheck: Difference between revisions

From Wiki
Marcluer (talk | contribs)
Created page with "== docker-compose.yml == <pre> service: web: image: ... ... healthcheck: test: interval: (default: 30s) timeout: (default: 30s) start-period: (default 0s) start-interval: (default: 5s) retries: (default: 3) depends_on: database: condition: (service_started, service_healthy) restart: true </pre> Category:Linux/Docker Category:Linux"
 
Marcluer (talk | contribs)
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
     ...
     ...
     healthcheck:
     healthcheck:
       test:
       test:           ["CMD", "curl", "-f", "http://localhost"]
                      ["CMD-SHELL", "curl -f http://localhost || exit 1"]
                      ["CMD", "wget", "-qO-", "http://localhost:4195/ready"]
                      wget --no-verbose --tries=1 --spider http://localhost || exit 1
       interval:        (default: 30s)
       interval:        (default: 30s)
       timeout:        (default: 30s)
       timeout:        (default: 30s)
       start-period:   (default 0s)
       retries:         (default: 3)   # number of consecutive failures before unhealthy
       start-interval: (default: 5s)
       start_period:   (default: 0s)   # grace period after start, failures will not count towards consecutive failures
       retries:         (default: 3)
       start_interval: (default: 5s)   # time between checks, during start-period
 
     depends_on:
     depends_on:
       database:
       database:
Line 18: Line 22:
</pre>
</pre>


== Exit codes ==
* 0: success
* 1: failure / unhealthy




[[Category:Linux/Docker]]
[[Category:Linux/Docker]]
[[Category:Linux]]
[[Category:Linux]]

Latest revision as of 10:53, 19 June 2025

docker-compose.yml

service:
  web:
    image: ...  
    ...
    healthcheck:
      test:            ["CMD", "curl", "-f", "http://localhost"]
                       ["CMD-SHELL", "curl -f http://localhost || exit 1"]
                       ["CMD", "wget", "-qO-", "http://localhost:4195/ready"]
                       wget --no-verbose --tries=1 --spider http://localhost || exit 1
      interval:        (default: 30s)
      timeout:         (default: 30s)  
      retries:         (default: 3)    # number of consecutive failures before unhealthy
      start_period:    (default: 0s)   # grace period after start, failures will not count towards consecutive failures
      start_interval:  (default: 5s)   # time between checks, during start-period

    depends_on:
      database:
        condition:     (service_started, service_healthy)
        restart: true

Exit codes

  • 0: success
  • 1: failure / unhealthy