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: