Common causes
- The version field in docker-compose.yml specifies a newer Compose file format than your installed version supports
- An older Docker Compose v1 (docker-compose) is being used with a file written for Compose v2+ (docker compose)
- The version string is malformed — it must be a quoted string like "3.9" not an unquoted number
- Copying a docker-compose.yml from a newer environment to an older server
How to fix it
- Upgrade Docker Compose: on Linux, docker compose (the v2 plugin) comes with Docker Engine 20.10+
- If stuck on an older version, downgrade the version field to one your Compose supports: version: "3.7"
- Remove the version field entirely — in Compose v2, the version field is optional and ignored
- Check your installed version: docker-compose --version or docker compose version
Example
$ docker-compose up
ERROR: Version in "./docker-compose.yml" is unsupported: 3.9docker-compose.yml uses version '3.9' but the installed docker-compose only supports up to 3.7
Browse more errors
The Developer Hub covers 150+ errors across Git, npm, Node.js, Python, TypeScript, and Docker — with plain-English explanations and fix steps.
