DEV Community

loading...

Creating block diagrams from docker-compose files

krishnakummar profile image krishna ・2 min read

A docker-compose file contains the definition of all the services that needs to run in harmony to successfully deploy an app stack.

When services and their interactions are defined clearly in a compose file manually charting a block diagram to list those services and their interaction is redundant, isn't it ? that was the thought I had when I needed to chart a block diagram for documenting my architecture.

A quick search using "tool to convert a docker compose file to a block diagram" yielded this awesome repo https://github.com/pmsipilot/docker-compose-viz

The code in this repo will help us to chart a block diagram from a docker compose file.

Lets create one!
  • Sample docker-compose of a simple SaaS stack

  • Command to execute

    docker run 
    --rm -it \
    --name dcv \ 
    -v /home/user/blog:/input pmsipilot/docker-compose-viz \
    render -m image \
    --force docker-compose.yml \
    --output-file=topology.png \
    --no-volumes \
    --no-ports \
    --no-networks
    
  • Ouptput

Alt Text

  • Command - With port numbers
docker run 
--rm -it \
--name dcv \ 
-v /home/user/blog:/input pmsipilot/docker-compose-viz \
render -m image \
--force docker-compose.yml \
--output-file=topology.png \
--no-volumes \
--no-networks
  • Ouptput - with ports
    Alt Text

  • Command - With volumes

docker run 
--rm -it \
--name dcv \ 
-v /home/user/blog:/input pmsipilot/docker-compose-viz \
render -m image \
--force docker-compose.yml \
--output-file=topology.png \
--no-ports \
--no-networks
  • Ouptput - with volumes Alt Text

Discussion (0)

pic
Editor guide