docker-compose creating multiple instances for the same image

后端 未结 3 2089
长情又很酷
长情又很酷 2020-12-13 01:26

I need to start multiple containers for the same image. If i create my compose file as shown below, it works fine.

version: \'2\'

services:
  app01:
    im         


        
相关标签:
3条回答
  • 2020-12-13 02:03

    You can do it with replica as mentioned in https://docs.docker.com/compose/compose-file/#replicas

    version: '3'
    services:
      worker:
        image: dockersamples/examplevotingapp_worker
        networks:
          - frontend
          - backend
        deploy:
          mode: replicated
          replicas: 6
    

    Edit (from the comments): One can use docker-compose --compatibility up to make docker accept deploy section without using swarm.

    0 讨论(0)
  • 2020-12-13 02:10

    The scale command is now deprecated, you should use up instead.

    docker-compose up --scale app=2
    

    more details in https://docs.docker.com/compose/reference/up

    0 讨论(0)
  • 2020-12-13 02:16

    Updated answer (Oct 2017)

    As others mentioned, the docker API has changed. I'm updating my answer since it's the one most people will probably look at.

    docker-compose up -d --scale app=5

    Unfortunately, we cannot specify this in a docker-compose.yml file currently (as of version 3.5).

    Details:
    They did introduce the scale option for version 2.2 and 2.3 of docker-compose but removed it for version 3.0. Also, to use version 2.2 or 2.3 you would need to download an older version of the docker-compose tool. The current version does not support 2.2 or 2.3 (it does support 2.0 or 2.1 however). There is also a new deploy section with replicas: 5 but it's only for swarm mode.

    --- Old Answer --------------------------------------

    docker-compose scale app=5

    See https://docs.docker.com/compose/reference/scale/

    Then you only need this docker-compose file

    version: '2'
    
    services:
      app:
        image: app
    
    0 讨论(0)
提交回复
热议问题