Summary
healthcheck and depends_on.condition: service_healthy are parsed without an error, but the dependent service starts immediately and the healthcheck does not appear to be represented in the created container configuration.
Environment
- OS: macOS 26.5.1 (25F80)
- Xcode: 26.5 (17F42)
- container: 1.0.0 (release, commit ee848e3)
- container-compose: 1.0.0 installed via Homebrew
- Architecture: arm64
Reproduction
compose.yml:
services:
web:
image: nginx:alpine
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1"]
interval: 1s
timeout: 1s
retries: 5
probe:
image: busybox:latest
depends_on:
web:
condition: service_healthy
command: ["sh", "-c", "echo PROBE_STARTED"]
Run:
container-compose --file compose.yml up -d
container logs health-probe
container inspect health-web
Actual behavior
probe starts immediately:
container inspect health-web did not show healthcheck metadata or a health status field.
Expected behavior
For Compose compatibility, one of these should happen:
container-compose implements healthcheck execution and waits for service_healthy before starting dependents.
- If this requires upstream
apple/container healthcheck primitives, container-compose reports a clear unsupported-feature warning/error instead of silently ignoring the condition.
Silent ignore is risky because stacks can appear to start while dependencies are not actually ready.
Summary
healthcheckanddepends_on.condition: service_healthyare parsed without an error, but the dependent service starts immediately and the healthcheck does not appear to be represented in the created container configuration.Environment
Reproduction
compose.yml:Run:
Actual behavior
probestarts immediately:container inspect health-webdid not show healthcheck metadata or a health status field.Expected behavior
For Compose compatibility, one of these should happen:
container-composeimplements healthcheck execution and waits forservice_healthybefore starting dependents.apple/containerhealthcheck primitives,container-composereports a clear unsupported-feature warning/error instead of silently ignoring the condition.Silent ignore is risky because stacks can appear to start while dependencies are not actually ready.