Spoold Logo
Home

Docker Compose Viewer

Guide

Compose inspector

View and validate Docker Compose files

Services

3

Ports

1

Errors

0

Warnings

2

docker-compose.yml

52 lines

Looks valid

api: Sensitive-looking environment key: API_TOKEN
Prefer secrets, env_file, or local-only .env values instead of committing secrets in compose YAML.
db: Sensitive-looking environment key: POSTGRES_PASSWORD
Prefer secrets, env_file, or local-only .env values instead of committing secrets in compose YAML.

web

nginx:1.27-alpine

Depends on

api

Networks

frontend

Ports

8080:80

Volumes

./nginx.conf:/etc/nginx/conf.d/default.conf:ro

api

build: ./api

Depends on

db

Networks

frontend, backend

Ports

none

Volumes

none

db

postgres:16

healthcheck
Depends on

none

Networks

backend

Ports

none

Volumes

db-data:/var/lib/postgresql/data

Guide: Docker Compose Viewer & Validator

Back to tool

What is this tool?

This Docker Compose viewer and validator lets you paste a docker-compose.yml file and inspect the application model in your browser. It parses YAML, lists services, images, build contexts, ports, volumes, networks, configs, secrets, dependencies, healthchecks, and common warnings that are easy to miss during review.

What it checks

  • YAML syntax with parse errors before the Compose model is inspected.
  • Required structure, especially the top-level services map.
  • Missing references for depends_on, named volumes, and named networks.
  • Host port collisions where two services publish the same host port and protocol.
  • Operational risk such as privileged: true, network_mode: host with ports, and explicit container names that prevent scaling.
  • Secret-like environment keys such as passwords, tokens, and API keys committed directly in YAML.

How to use it

  1. Paste or upload Compose YAML. The Monaco editor supports line numbers, folding, and dark/light theme syncing.
  2. Read the status. Errors need fixes before Docker Compose can load the model; warnings are review items.
  3. Open Services to inspect images, builds, ports, volumes, networks, profiles, and healthchecks.
  4. Open Graph to see service dependency references and broken dependency names.
  5. Copy the report when you want to paste findings into a pull request or ticket.

Common Docker Compose issues

IssueWhy it matters
Two services publish 8080:80Only one container can bind the same host port on the same interface.
A service depends on a missing serviceStartup ordering fails because Compose cannot resolve the dependency name.
Named volume not declaredReviewers cannot see whether the volume is external, local, or driver-backed.
Secrets in environmentCompose files are often committed to Git. Secrets should usually move to secrets, env files, or local runtime config.

Viewer vs docker compose config

This browser tool is meant for fast inspection, pull request review, and explaining a Compose file. It does not run Docker, resolve local files, apply profiles, load .env, or contact registries. For final validation in a project directory, still run docker compose config or your CI checks.

Use both together: this page helps you understand the model quickly, and the Docker CLI confirms the fully resolved project state on the machine where the app will run.

Best practices

  • Pin image tags instead of using latest.
  • Keep services small and name them after their runtime role, such as api, worker, and db.
  • Declare named volumes and networks at the top level so ownership is obvious.
  • Add healthchecks for databases, queues, and APIs that other services wait on.
  • Use secrets or env files for sensitive values, and keep committed examples safe.

FAQ

Does this run Docker Compose?

No. It parses and analyzes the YAML in your browser. It does not start containers, pull images, or access your Docker daemon.

Is my compose file uploaded?

No. The parser and checks run client-side in the browser.

Can it validate every Compose feature?

It focuses on practical structure and review checks. The Docker CLI remains the source of truth for full project resolution.

Does it support old version 2 and version 3 files?

Yes for inspection. The current Compose Specification merged the older 2.x and 3.x formats, so the tool treats version as informational.

Related terms include docker compose validator, docker compose viewer, docker-compose.yml validator, compose file checker, docker compose port collision, docker compose depends_on checker, docker compose network viewer, docker compose volume viewer, and docker compose yaml syntax checker.

Similar tools

Useful tools for nearby workflows: