13.2.2.2 Compose Delivery Target
A focused guide to Compose Delivery Target, connecting core concepts with practical Docker and container operations.
A Compose delivery target deploys an application using its Compose file directly on a target host, providing a step up from manually running individual containers by managing an application's complete multi-service stack declaratively, while still remaining a single-host deployment approach.
Deploying a Compose Stack to a Target Host
The deployment process transfers (or already has present) the Compose file and brings up the defined stack on the target server.
scp docker-compose.yml deploy@server.example.com:/opt/myapp/
ssh deploy@server.example.com "cd /opt/myapp && docker compose pull && docker compose up -d"
This brings up every service defined in the Compose file, with their declared dependencies, networks, and volumes, directly on that target host.
Why Compose Simplifies Deploying a Multi-Service Application
Compared to manually running and connecting individual containers via separate docker run commands, Compose's declarative file captures the entire application's structure in one place, making deployment and updates considerably more manageable.
docker compose up -d
This single command brings up an entire multi-service application stack correctly, according to whatever's declared in the Compose file.
Updating a Running Compose Deployment
Pulling updated images and reapplying the Compose configuration updates a running deployment to whatever new image versions are specified.
ssh deploy@server.example.com "cd /opt/myapp && docker compose pull && docker compose up -d"
Compose recreates only the services whose configuration or image actually changed, leaving unaffected services running undisturbed.
Why This Target Still Shares Single-Host Limitations
Despite the improved manageability over individual containers, a Compose deployment to a single host still shares that host's single point of failure — Compose itself doesn't provide multi-host orchestration or automatic failover.
Why a Compose Delivery Target Matters
Deploying via Compose on a single target host provides meaningfully improved manageability for a multi-service application compared to manually orchestrating individual containers, while remaining an appropriately simple choice for applications not yet requiring multi-host resilience.