Using Docker-Swarm to duplicate Docker-Compose?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Using Docker-Swarm to duplicate Docker-Compose?

1,484 次查看
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 项奖励
0 回复数
%3CLINGO-SUB%20id%3D%22lingo-sub-1242288%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%BF%E7%94%A8%20Docker-Swarm%20%E5%A4%8D%E5%88%B6%20Docker-Compose%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1242288%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%9C%E4%B8%BA%E6%88%91%E7%9A%84%20%3CA%20href%3D%22https%3A%2F%2Fintellipaat.com%2Fdocker-training-course%2F%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E5%AE%B9%E5%99%A8%E8%AE%A4%E8%AF%81%3C%2FA%3E%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%EF%BC%8C%E6%88%91%E5%BF%85%E9%A1%BB%E6%9C%89%E4%B8%80%E4%B8%AA%E5%8C%85%E5%90%AB%201%20%E4%B8%AA%20docker-compose%20%E6%96%87%E4%BB%B6%E7%9A%84%E9%A1%B9%E7%9B%AE%EF%BC%8C%E8%AF%A5%E6%96%87%E4%BB%B6%E8%BF%90%E8%A1%8C%204%20%E4%B8%AA%E7%9B%B8%E4%BA%92%E9%80%9A%E4%BF%A1%E7%9A%84%E6%9C%8D%E5%8A%A1%E3%80%82%E8%BF%99%E5%9B%9B%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%B0%B1%E5%83%8F%E4%B8%80%E4%B8%AA%201%20%E4%B8%AA%E5%82%A8%E7%BD%90%E6%8E%A7%E5%88%B6%E5%99%A8%E5%92%8C%203%20%E4%B8%AA%E5%82%A8%E7%BD%90%E4%BC%A0%E6%84%9F%E5%99%A8%E3%80%82%E6%88%91%E6%83%B3%E4%BD%BF%E7%94%A8%20%E5%AE%B9%E5%99%A8%20Swarm%20%E5%B0%86%E6%95%B4%E4%B8%AA%20docker-compose%20%E4%B8%8E%E6%89%80%E6%9C%89%E5%9B%9B%E4%B8%AA%E6%9C%8D%E5%8A%A1%E4%B8%80%E8%B5%B7%E5%A4%8D%E5%88%B6%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E5%81%9A%E7%9A%84%E4%BA%8B%E6%83%85%E7%9A%84%E5%9B%BE%E7%89%87%EF%BC%9A%3CSPAN%3E%20%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fi.stack.imgur.com%2FR5glO.jpg%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E6%98%BE%E7%A4%BA%E6%9C%80%E7%BB%88%E7%9B%AE%E6%A0%87%E7%9A%84%E5%9B%BE%E7%89%87%3C%2FA%3E%3C%2FP%3E%3CP%3E%E6%88%91%E5%9C%A8%E8%AE%BE%E7%BD%AE%E5%AE%B9%E5%99%A8%E7%BE%A4%E6%97%B6%E9%81%87%E5%88%B0%E4%BA%86%E5%BE%88%E5%A4%9A%E5%9B%B0%E6%83%91%E3%80%82%E6%88%91%E8%BF%90%E8%A1%8C%E4%BA%86%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%EF%BC%9A%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3Edocker%20swarm%20init%0Adocker%20stack%20deploy%20--compose-file%3Ddocker-compose.yml%20tank%3C%2FPRE%3E%3CP%3E%E4%BD%86%E6%98%AF%E8%BF%99%E7%A7%8D%E8%AE%BE%E7%BD%AE%E5%8F%AA%E8%83%BD%E8%AE%A9%E6%88%91%E4%B8%80%E6%AC%A1%E6%89%A9%E5%B1%95%E4%B8%80%E9%A1%B9%E6%9C%8D%E5%8A%A1%E3%80%82%E4%BE%8B%E5%A6%82%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3Edocker%20service%20scale%20tank_lowlevelalarm%3D4%3C%2FPRE%3E%3CP%3E%E8%BF%99%E4%B8%8D%E6%98%AF%E6%88%91%E6%83%B3%E5%81%9A%E7%9A%84%E3%80%82%E6%88%91%E5%B8%8C%E6%9C%9B%E8%83%BD%E5%A4%9F%E9%80%9A%E8%BF%87%E5%90%8C%E6%97%B6%E5%A4%8D%E5%88%B6%E6%89%80%E6%9C%89%E5%9B%9B%E4%B8%AA%E6%9C%8D%E5%8A%A1%E6%9D%A5%E6%89%A9%E5%B1%95%E6%95%B4%E4%B8%AA%20%E5%AE%B9%E5%99%A8-compose%E3%80%82%E6%88%91%E7%9A%84%E7%9B%AE%E6%A0%87%E6%98%AF%EF%BC%8C%E5%9C%A8%E6%88%91%E7%9A%84%E5%8F%A0%E5%8A%A0%E7%BD%91%E7%BB%9C%E4%B8%8A%EF%BC%8C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%88%91%E6%9C%89%E5%A4%9A%E4%B8%AA%E6%B0%B4%E7%AE%B1%EF%BC%8C%E6%AF%8F%E4%B8%AA%E6%B0%B4%E7%AE%B1%E6%9C%89%201%20%E4%B8%AA%E6%8E%A7%E5%88%B6%E5%99%A8%E5%92%8C%203%20%E4%B8%AA%E4%BC%A0%E6%84%9F%E5%99%A8%E3%80%82%E6%88%91%E6%9C%89%E5%8F%AF%E8%83%BD%E8%BF%99%E6%A0%B7%E5%81%9A%E5%90%97%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%88%91%E7%9A%84%20docker-compose%20%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BE%9B%E5%8F%82%E8%80%83%EF%BC%9A%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3Eversion%3A%20'3.0'%0Aservices%3A%0A%20%20tli%3A%0A%20%20%20%20image%3A%20tli%0A%20%20%20%20networks%3A%0A%20%20%20%20%20%20-%20my-overlay%0A%0A%20%20lowlvlalarm%3A%0A%20%20%20%20image%3A%20lowlvlalarm%0A%20%20%20%20build%3A%20.%0A%20%20%20%20networks%3A%0A%20%20%20%20%20%20-%20my-overlay%0A%0A%20%20highlvlalarm%3A%0A%20%20%20%20image%3A%20highlvlalarm%0A%20%20%20%20build%3A%20.%2FHighLvlAlarm%0A%20%20%20%20networks%3A%0A%20%20%20%20%20%20-%20my-overlay%0A%0A%20%20plc%3A%0A%20%20%20%20image%3A%20plc%0A%20%20%20%20depends_on%3A%0A%20%20%20%20%20%20-%20tli%0A%20%20%20%20%20%20-%20lowlvlalarm%0A%20%20%20%20%20%20-%20highlvlalarm%0A%20%20%20%20networks%3A%0A%20%20%20%20%20%20-%20my-overlay%0A%0Anetworks%3A%0A%20%20my-overlay%3A%26nbsp%3B%26nbsp%3B%3C%2FPRE%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E