One application has two independent observation paths: health can fail while the metrics scrape succeeds.

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
Client and API share a project network; the state-volume branch survives the ordinary down operation that removes the network.

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. ...

August 18, 2027 · 6 min · XB Field Notes
A closed readiness gate holds the dependent; a successful dependency probe opens its startup gate.

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