The last discovery service we're going to see here is Consul, a tool for discovering and configuring services. It provides an API that allows clients to register and discover services. Similar to Etcd and ZooKeeper, Consul is a key-value store with a REST API. It can perform health checks to determine service availability and uses the Raft consensus algorithm via the Serf library. Similar to Etcd and Zookeeper, of course, Consul can form a high availability quorum with leader election. Its member management system is based on memberlist
, an efficient Gossip protocol implementation.
We will now create another Swarm v1, but in this section we create machines on a cloud provider, DigitalOcean. To do so, you need an access token. However, if you don't have a DigitalOcean account, you can replace --driver digitalocean
with --driver virtualbox
and run this example locally.
Let's start by creating the Consul master:
$ docker-machine create...