A failing readiness endpoint can coexist with up=1 until the separate metrics endpoint also fails.

Docker health and Prometheus up answer different questions

Docker health state and Prometheus’s up series are observations from different checks. A Compose healthcheck runs a command inside the application container. Prometheus independently scrapes a configured metrics endpoint and records whether that scrape succeeded. The two observations can legitimately disagree because an application may refuse useful work while still serving its metrics, or may serve work while its metrics endpoint is broken. ...

February 21, 2028 · 5 min · XB Field Notes
A project recreates its network while keeping its named data volume and stable service names.

A Compose project combines declarations with external inputs

Docker Compose turns service declarations into containers, networks, and storage attachments managed as a project. The file describes useful relationships: which image runs a service, how configuration reaches it, and which storage or network it uses. Reproducing a stack still depends on external inputs such as image availability, variable values, host capabilities, and existing data. A versioned file makes those inputs reviewable only when they are identified. ...

August 18, 2027 · 5 min · XB Field Notes
A dependent waits for one startup health condition, then remains running when that dependency later becomes unhealthy.

Compose startup ordering needs an explicit readiness condition

Docker Compose describes a graph of services and can start them according to declared dependencies. Process startup is only one possible condition in that graph. A database or API may be running before it can accept the operation another service needs. An explicit service_healthy condition lets Compose wait for a dependency’s configured healthcheck before starting the dependent service, provided that check represents meaningful readiness. ...

April 8, 2027 · 5 min · XB Field Notes