⚡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!