We use cookies to understand how the site is used and to display ads. Analytics and advertising only run after you accept. You can change your choice anytime via the footer link or your browser settings. Privacy policy

Skip to content
>_devvkit

Docker Compose Validator

Validate docker-compose.yml: syntax, services, ports, volumes, networks.

3 services2 errors1 warningFix the errors above
WARN · Obsolete version key: The "version" key is obsolete — Compose v2 ignores it. Remove it.
ERROR · Unknown network: Service "web" references network "appnet" which is not listed under top-level networks.
ERROR · Duplicate host port: Host port 8080 is bound by both "web" and "api" — the second binding fails at startup.
INFO · Default network: No top-level networks section — services share the implicit "default" network.

Validates YAML syntax, service definitions, port bindings, and references to networks/volumes/depends_on against the Compose spec. $VARIABLE interpolation, .env files, and external resources are not resolved here. Parsing runs entirely in your browser.

//Share this tool

Validate docker-compose.yml files for syntax and structure: service definitions, port conflicts, and dangling references to networks, volumes, and depends_on services. Catch "services must be a mapping, not a string" before your stack fails to start.

[x]Features
  • -Strict YAML parsing with line-level error messages
  • -Service name and image/build checks
  • -Duplicate host port detection across services
  • -Unknown network, volume, and depends_on references
  • -Obsolete version key warning
  • -Local-only processing with sample compose file
>Use Cases
  • >Debugging compose files that fail to start
  • >Checking for port collisions in monorepo stacks
  • >Reviewing shared compose templates
  • >Teaching compose indentation and structure

Frequently Asked Questions

>Is my compose file uploaded??
No. The YAML is parsed with the yaml library entirely in your browser.
>What does it validate??
YAML syntax, the services mapping, port bindings (including duplicate host ports), and references to networks, volumes, and depends_on services.
>Does it resolve $VARIABLE interpolation??
No. Interpolation, .env files, and external resources are not resolved here — values containing $ are skipped for validation.