How can I boot a swarm of 50 machines with docker-machine?

I need to boot a bunch of ec2 instances (could be virtualbox instances, doesn’t matter) as a swarm. docker-machine seems to only work for doing one at a time, and that would take hours to boot 50 machines. I would like to boot the swarm master, and then in parallel boot the 49 swarm workers. This seems like a common use case, but docker-machine has no parameter I can find for the number of instances to boot.

How can I do this? Do I need to just script it myself?

  • How to configure PHP 7 - Apache with MySQL PDO driver in Debian Docker image?
  • Populating Docker containers with sensitive information using kubernetes
  • How to convert docker run command into json file?
  • Installing novadocker for openstack
  • Logging from one Docker Container to Another
  • I could curl using IP but not using consul serviceName?
  • Posted on the docker forums, but typically nobody answers there: https://forums.docker.com/t/how-to-spin-up-multiple-docker-machines-at-once-i-need-20-or-50-now/8749

  • Bluemix volume, root not access and not permission in folder other user in volume bluemix
  • Jenkins build + Docker + auto deployment
  • Store and Restore Inherited Dockerfile USER setting
  • Best practice for redirecting between docker containers
  • How to apply kernel tuning on docker container
  • Dockerized Spring Cloud Stream services with Kafka broker unable to connect to Zookeeper
  • One Solution collect form web for “How can I boot a swarm of 50 machines with docker-machine?”

    What you’re looking for is configuration management software. Chef, Ansible, Terraform and their competitors were created to deploy and manage clusters like this.

    Docker-machine is great for running containers on my MacBook, but not so great for deploying cloud infrastructure. Look into deploying your swarm into Auto-Scaling Groups with the configuration management tool of your choice.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.