# Docker Compose

149 Hacker News commenters recommended Docker Compose and 44 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months; owners who said how long report a median of 5 years (3 owners). It meets the Hacker Approved badge rule.

**Verdict:** Defines a whole multi-container app in one declarative YAML file, making local dev and single-server deployments quick and repeatable; critics find it awkward for production, rootless and multi-host setups.

## Why people recommend it

- Whole stack in one YAML (6 comments): "Having your whole application with its containers, volumes, and networks all defined together in one easy-to-read YAML file is a way better experience." ([source](https://news.ycombinator.com/item?id=48023050)) "I like running docker compose for my simple needs because it consolidates pretty much all the config in one declarative file" ([source](https://news.ycombinator.com/item?id=48020741)) "the ability to use YAML for declarative configuration is the most critical feature for any container tool" ([source](https://news.ycombinator.com/item?id=48473155))
- Simple, quick deploys and redeploys (7 comments): "I use docker-compose mainly because it's so "easy" to just ssh into the machine and run something like "git pull && docker-compose up"" ([source](https://news.ycombinator.com/item?id=47296019)) "I can use the same setup for everything, and deploying an entire new thing in a maintainable way is quick and easy." ([source](https://news.ycombinator.com/item?id=50114940)) "having a pre-made docker compose means I can throw it on my general app VM and it'll take 5 seconds to spin up" ([source](https://news.ycombinator.com/item?id=46173161))
- Enough for single-server production (6 comments): "Docker running through Compose can handle few hundreds of thousand of users per day without an issue" ([source](https://news.ycombinator.com/item?id=48026012)) "You could setup a docker compose on 1 single decent server and call it a day when you have 0 users." ([source](https://news.ycombinator.com/item?id=46393422)) "If you can confidently get it done with docker-compose, you shouldn't even think about using k8s" ([source](https://news.ycombinator.com/item?id=45903541))
- Great local multi-service dev loop (5 comments): "there's nothing as idiot proof as docker compose that works on windows/mac/linux/whatever the new guy prefers to run" ([source](https://news.ycombinator.com/item?id=49509491)) "it's hard to beat compose for a tight dev loop of multiple dependencies in a micro-service architecture" ([source](https://news.ycombinator.com/item?id=48031633)) "You can easily mount extra directories from your developer host machine in read or read+write mode." ([source](https://news.ycombinator.com/item?id=48293076))

## What people warn about

- Friction in non-local deployments (4 comments): "Compose is great, but a couple things always created friction for me when using it for non-local setups" ([source](https://news.ycombinator.com/item?id=48021003)) "I feel it lacks when it comes to deployment, especially when using it rootless or on rootless images." ([source](https://news.ycombinator.com/item?id=46014701)) "I love the ease of using databases in docker compose as well but I always worry about production" ([source](https://news.ycombinator.com/item?id=48023092))
- Docker/Podman/version behavior inconsistencies (4 comments): "compose overlay files merged list values differently between the Docker and Podman versions, which was a PITA in teams running Docker & Linux dev machines" ([source](https://news.ycombinator.com/item?id=48022150)) "Ever had "docker compose" and "docker-compose" do subtly different things which drive your team mate to pull their hair out?" ([source](https://news.ycombinator.com/item?id=48028870)) "compose itself behave in unexpected ways, weird things like not realizing the tag of an image it is running" ([source](https://news.ycombinator.com/item?id=48025090))
- Networking limits and security concerns (2 comments): "Docker compose assumes all your services can reach each other over docker, which I find horribly insecure." ([source](https://news.ycombinator.com/item?id=48022046)) "The networking aspect of it still isn't feature-compatible compared to using docker." ([source](https://news.ycombinator.com/item?id=48769666))
- YAML files hard to follow (2 comments): "docker compose files that are way more difficult to understand than the equivalent K8S manifests" ([source](https://news.ycombinator.com/item?id=46144793)) "docker compose files are weird blobs of YAML that I have to hunt down the location of" ([source](https://news.ycombinator.com/item?id=48026353))

## Alternatives hackers recommend

- [Docker](https://hackerapproved.com/p/docker.md): 558 recommend
- [Kubernetes](https://hackerapproved.com/p/kubernetes.md): 333 recommend
- [Uncloud](https://hackerapproved.com/p/uncloud.md): 33 recommend
- [Podman Quadlets](https://hackerapproved.com/p/podman-quadlets.md): 30 recommend
- [podman-compose](https://hackerapproved.com/p/podman-compose.md): 8 recommend

## Cite as

Hacker Approved, "Docker Compose", https://hackerapproved.com/p/docker-compose/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
