Using Docker-Swarm to duplicate Docker-Compose?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using Docker-Swarm to duplicate Docker-Compose?

583 Views
Angelcrazy123
Contributor I

As part of my Docker Certification, I have to a project that contains 1 docker-compose file that runs 4 services that communicate with each other. These four services act like a 1 tank controller and 3 tank sensors. I want to duplicate the entire docker-compose with all four services using Docker Swarm. Here is an image of what I'm trying to do: an image showing the final goal

I am having a lot of confusion when setting up the docker swarm. I ran the following commands:

docker swarm init
docker stack deploy --compose-file=docker-compose.yml tank

But this set up only lets me scale one service at a time. For example:

docker service scale tank_lowlevelalarm=4

This isn't what I want to do. I want to be able to scale the entire docker-compose by replicating all four services at the same time. My goal is that on my overlay network, it will look like I have multiple tanks, and each tank has 1 controller and 3 sensors. Is it possible for me to do this?

My docker-compose file, for reference:

version: '3.0'
services:
  tli:
    image: tli
    networks:
      - my-overlay

  lowlvlalarm:
    image: lowlvlalarm
    build: .
    networks:
      - my-overlay

  highlvlalarm:
    image: highlvlalarm
    build: ./HighLvlAlarm
    networks:
      - my-overlay

  plc:
    image: plc
    depends_on:
      - tli
      - lowlvlalarm
      - highlvlalarm
    networks:
      - my-overlay

networks:
  my-overlay:  

 

0 Kudos
0 Replies