deftools.io DevOps & CLI

🐳 Docker Compose Validator

Validate docker-compose.yml and explain services, networks, and volumes. Paste your compose file and get a full report.

0 lines

About this tool

Paste a docker-compose.yml (or compose.yaml) file and the tool parses it, reports whether it is syntactically valid, and explains every service it finds: image, build context, published ports, environment variables, volumes, depends_on links, restart policy, networks, and healthchecks. Use it to catch typos before docker compose up rejects the file, or to understand a compose file written by someone else without reading YAML by hand.

Example: a service named web with image: nginx:alpine and ports: ["80:80"] is reported as one service exposing host port 80 to container port 80. A service that references a volume or network not declared at the top level is flagged as a warning.

The parser understands the Compose file structure (services, networks, volumes, secrets, configs) and recognises both the legacy top-level version key and the modern attribute-less format.

FAQ

Does this connect to Docker or run my containers?

No. The tool only reads the YAML text you paste and checks its structure. It never runs docker, never pulls images, and never starts containers. Think of it as a linter for your compose file.

What counts as a warning vs an error?

An error is anything that would make Docker reject the file outright: invalid YAML, a service that is not a mapping, or a missing required services key. A warning is something that parses but is likely a mistake: a port in the wrong format, a depends_on pointing at a service that does not exist, or a volume reference with no matching declaration.

Will it rewrite or fix my compose file?

No. The tool is read-only — it reports what it found and flags problems, but it never edits your file. You apply the fixes yourself in your editor.

Does it support Compose profiles and extends?

Yes. The parser recognises the profiles, extends, and environment_file keys on each service and reports them. It does not evaluate the extends target against an external file, only against services defined in the same document.

Related devops & cli tools

Copied!