Prerequisites:
At least 4GiB of RAM for the containers.
$ docker-machine create --driver virtualbox --virtualbox-cpu-count "2" --virtualbox-memory "4096" myvm1
$ docker-machine env myvm1
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.102:2376"
export DOCKER_CERT_PATH="/home/localadmin/.docker/machine/machines/myvm1"
export DOCKER_MACHINE_NAME="myvm1"
$ eval $(docker-machine env myvm1)
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 * virtualbox Running tcp://192.168.99.102:2376 v17.09.1-ce
$ docker swarm init --advertise-addr="192.168.99.102"
Swarm initialized: current node (w4qluyqoycisio30hpfyongw7) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-62rlz15bmbjf257mid1i5f30o8suo6svlwmj0j89j3b77lz3zw-37u8aucw2fjc9cuwrprprvrzh 192.168.99.102:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.