diff --git a/compose_viz/graph.py b/compose_viz/graph.py index 15516ca..57e34f5 100644 --- a/compose_viz/graph.py +++ b/compose_viz/graph.py @@ -85,7 +85,11 @@ class Graph: self.add_vertex(port.host_port, "port", lable=port.host_port) self.add_edge(port.host_port, service.name, "ports", lable=port.container_port) for link in service.links: - self.add_edge(link.split(":")[0], service.name, "links", link.split(":")[1]) + if ":" in link: + service_name, alias = link.split(":", 1) + self.add_edge(service_name, service.name, "links", alias) + else: + self.add_edge(link, service.name, "links") for depends_on in service.depends_on: self.add_edge(service.name, depends_on, "depends_on") diff --git a/examples/full-stack-node-app/postgres.yml b/examples/full-stack-node-app/common-services.yml similarity index 67% rename from examples/full-stack-node-app/postgres.yml rename to examples/full-stack-node-app/common-services.yml index cb6c45e..2031249 100644 --- a/examples/full-stack-node-app/postgres.yml +++ b/examples/full-stack-node-app/common-services.yml @@ -3,3 +3,5 @@ version: "3.9" services: postgres: image: awesome/postgres + node: + image: awesome/node diff --git a/examples/full-stack-node-app/compose-viz.png b/examples/full-stack-node-app/compose-viz.png index 1b0976b..2ccd6ce 100644 Binary files a/examples/full-stack-node-app/compose-viz.png and b/examples/full-stack-node-app/compose-viz.png differ diff --git a/examples/full-stack-node-app/docker-compose.yml b/examples/full-stack-node-app/docker-compose.yml index b21887f..dd2ac6f 100644 --- a/examples/full-stack-node-app/docker-compose.yml +++ b/examples/full-stack-node-app/docker-compose.yml @@ -1,11 +1,6 @@ version: "3.9" services: - node: - build: - context: . - dockerfile: Dockerfile.node - api: image: "awesome/api" extends: @@ -30,7 +25,6 @@ services: - front-tier - back-tier command: ["npm", "start"] - frontend: extends: service: node @@ -49,12 +43,11 @@ services: networks: - front-tier command: ["npm", "start"] - db: image: "awesome/db" extends: service: postgres - file: postgres.yml + file: common-services.yml restart: always networks: - back-tier @@ -63,7 +56,6 @@ services: - type: bind source: /var/run/postgres/postgres.sock target: /var/run/postgres/postgres.sock - redis: image: "awesome/redis" restart: always @@ -71,13 +63,20 @@ services: - back-tier expose: - 6379 - adminer: image: "awesome/adminer" - networks: - - back-tier + links: + - db ports: - 8080:8080 + proxy: + image: "awesome/proxy" + build: + context: . + dockerfile: Dockerfile.proxy + networks: + - front-tier + volumes: db-data: