Solutions · Containers
How much server does Docker need?
Containers are processes sharing one kernel, not small virtual machines — the daemon holds about 100 MB and everything after that is just your own processes. So the answer is smaller than the question expects: a proxy, an app, a database and a cache come to roughly 515 MB together, which fits with room to spare on BD-8 at $11.90.
What a container actually holds
Ranges, not benchmarks
Your image, configuration and traffic move these more than any table can. Run docker stats on your own stack — that is the only number that applies to you.
| Container | Typical memory | Fits on BD-8 (8 GB) |
|---|---|---|
| A reverse proxynginx, Caddy, Traefik | 15–60 MB | 129 at the high end |
| A small web appNode, Python, Go — one process | 60–200 MB | 38 at the high end |
| PostgreSQL or MySQLsmall dataset, default pool | 200–500 MB | 15 at the high end |
| Redisas a cache, bounded by maxmemory | 20–200 MB | 38 at the high end |
| A JVM serviceJava, Kotlin, Elasticsearch | 500–2000 MB | 3 at the high end |
The arithmetic
What each plan holds
Memory, minus 300 MB for the operating system and 100cache — at about 515 MB.
| Plan | RAM | Whole stacks | Small apps | Disk | Price | Deploy |
|---|---|---|---|---|---|---|
| VPS-1 | 1 GB | 1 | 3 | 25 GB | $9.90 | Deploy |
| BD-8 | 8 GB | 15 | 38 | 100 GB | $11.90 | Deploy |
| BD-12 | 12 GB | 23 | 59 | 200 GB | $16.90 | Deploy |
| BD-24 | 24 GB | 46 | 120 | 300 GB | $30.90 | Deploy |
Disk is the second surprise and the one people meet later: images, volumes and logs accumulate quietly. Put docker system prune in a weekly cron before it becomes urgent, not after.
Against ourselves
When you should not buy this
A managed container platform costs more because it does the operating. That is a real thing to buy.
A VPS gives you root and hands you the updates, the restarts, the certificates and the pager. That is dramatically cheaper and it is genuinely more work. If you do not want that work, a managed platform is the honest answer and we would rather point at it than sell a machine that ends up abandoned with an unpatched daemon exposed to the internet. Two smaller pieces of the same advice: set a memory limit on every container so a misbehaving one dies instead of your database, and do not reach for Kubernetes on a single machine — an orchestrator with nothing to schedule is only complexity.
Questions