Skip to content

Instantly share code, notes, and snippets.

@philipz
Created December 1, 2015 09:23
Show Gist options
  • Save philipz/6afdb693479f10f91da3 to your computer and use it in GitHub Desktop.
Save philipz/6afdb693479f10f91da3 to your computer and use it in GitHub Desktop.
Docker Swarm & Network on VMware ESXi

Reference

  1. Get started with multi-host networking
  2. Docker Machine and VMware vSphere

#Set up a key-value store

Docker-Consul

docker-machine create docker-consul --driver vmwarevsphere --vmwarevsphere-datacenter ha-datacenter --vmwarevsphere-vcenter 192.168.2.12 --vmwarevsphere-username root --vmwarevsphere-password PASSWORD --vmwarevsphere-datastore 500G --vmwarevsphere-network "VM Network"

Run progrium/consul

docker $(docker-machine config docker-consul) run -d --restart=always -p 8500:8500 -h consul progrium/consul -server -bootstrap #Create a Swarm cluster

Swarm-Master

docker-machine create swarm-master --driver vmwarevsphere --vmwarevsphere-datacenter ha-datacenter --vmwarevsphere-vcenter 192.168.2.12 --vmwarevsphere-username root --vmwarevsphere-password PASSWORD --vmwarevsphere-datastore 500G --vmwarevsphere-network "VM Network" --swarm --swarm-master --swarm-discovery="consul://$(docker-machine ip docker-consul):8500" --engine-opt="cluster-store=consul://$(docker-machine ip docker-consul):8500" --engine-opt="cluster-advertise=eth1:2376"

Swarm-Node1

docker-machine create swarm-node1 --driver vmwarevsphere --vmwarevsphere-datacenter ha-datacenter --vmwarevsphere-vcenter 192.168.2.12 --vmwarevsphere-username root --vmwarevsphere-password PASSWORD --vmwarevsphere-datastore 500G --vmwarevsphere-network "VM Network" --swarm --swarm-discovery="consul://$(docker-machine ip docker-consul):8500" --engine-opt="cluster-store=consul://$(docker-machine ip docker-consul):8500" --engine-opt="cluster-advertise=eth1:2376"

Swarm-Node2

docker-machine create swarm-node2 --driver vmwarevsphere --vmwarevsphere-datacenter ha-datacenter --vmwarevsphere-vcenter 192.168.2.12 --vmwarevsphere-username root --vmwarevsphere-password PASSWORD --vmwarevsphere-datastore 500G --vmwarevsphere-network "VM Network" --swarm --swarm-discovery="consul://$(docker-machine ip docker-consul):8500" --engine-opt="cluster-store=consul://$(docker-machine ip docker-consul):8500" --engine-opt="cluster-advertise=eth1:2376"

Check

eval "$(docker-machine env --swarm swarm-master)"
docker info
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment