docker-discover is a service discovery container that leverages haproxy and etcd. When running,it sets up listeners for remote docker containers discovered via etcd. It works in tandem withdocker-register.

Together, they implement service discovery for docker containers with a similar architectureto SmartStack. docker-discovery is analagous to synapse in the SmartStack system.

How it works

When running, the container will setup ports on the host that can be accessed from other locallyrunning containers. For example, host port 5000 would forward requests to remote hosts runningcontainers that EXPOSE port 5000. Each proxied service port is monitored with basic TCP healthchecks and will be re-dispatched if backend container fails. This ensure that backend containerscan be started and stopped as needed w/ minimal client impact.

The intent is that you would run this container on any host that has containers that need to callremote services in your infrastructure.

From within a container on a host running docker-discover, they can reach remote containers by hittingthe docker bridge IP or the host IP and the corresponding EXPOSEed port of the service.