Docker Compose Visualizer
Paste or upload a docker-compose.yml to visualize services, detect config smells, and export a Mermaid diagram.
About the Docker Compose Builder
Docker Compose files define multi-container application stacks — web servers, databases, caches, message queues — and their networking, volumes, and environment configuration. Writing Compose YAML from scratch means knowing the schema for every service option. This tool parses existing Compose files to visualize the service graph, detects common configuration smells, and helps you build new configurations correctly.
What this tool does
Service Graph
Visualizes service dependencies as a Mermaid graph — see which services depend on which at a glance.
Smell Detection
Flags common issues: missing healthchecks, hardcoded secrets in environment variables, missing resource limits, and privileged containers.
Schema Validation
Validates your Compose file against the Compose Specification — catches typos in service keys and invalid option combinations.
100% Client-Side
All parsing and analysis runs in your browser. Your service definitions and image names are never transmitted.
Pipeline
- Kubernetes Validator — validate the K8s manifests you convert your Compose file to.
- Nginx Config Builder — build the reverse proxy config for your Compose web service.
- .env Editor — manage the environment variables your Compose services consume.
Frequently asked
- Is my Docker Compose data sent to a server?
- No. All parsing and analysis runs 100% in your browser. Your service definitions, image names, and configuration never leave your device.
- What is Docker Compose?
- Docker Compose is a tool for defining and running multi-container Docker applications. You describe your services, networks, and volumes in a docker-compose.yml file, then start everything with "docker compose up". It is the standard way to run local development environments.
- What is the difference between docker-compose.yml v2 and v3?
- Version 2 is for single-host deployments (local dev). Version 3 added support for Docker Swarm deployment. For modern usage, the version field is optional — Docker Compose v2 (the CLI plugin) reads both formats. The Compose Specification is now the canonical reference.
- What is the difference between a volume and a bind mount?
- A volume is managed by Docker and stored in Docker's storage area. A bind mount maps a host directory directly into the container. Use bind mounts for development (live code reloading). Use volumes for production data persistence (databases, uploads).
- What does "depends_on" do in Docker Compose?
- "depends_on" controls startup order — it ensures a service starts before the services that depend on it. However, it does not wait for the service to be "ready" (e.g. a database accepting connections). Use healthchecks with "condition: service_healthy" for true readiness waiting.