This is a beta software use it under your own risk
Is a Bind dns server to discover containers into a Swarm clusters, it is completly automatic, to see how it works and how use it continue reading.
It is based on the sameersbn/docker-bind image.
##What is Swarm
Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single, virtual host.
Swarm serves the standard Docker API, so any tool which already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts: Dokku, Compose, Krane, Deis, DockerUI, Shipyard, Drone, Jenkins... and, of course, the Docker client itself.
Fot more info visit Swarm
#How to use this image
Pull the latest version of the image from the docker index. This is the recommended method of installation as it is easier to update image in the future.
docker pull inventame/swarm-bindr
The easiest way to run the image.
docker run --name=swarm-bindr -p 53:53/udp -e MANAGER="<manager-ip>" -d inventame/swarm-bindr
To get access to webmin to configure bind using the web interface you have to expose the 10000 port. The root password is 1234
docker run --name=bindr -p 53:53/udp -p 10000:10000 -e MANAGER="<manager-ip>" -d inventame/swarm-bindr
We encourage the use of a volume at /data for persistence of your bind server configuration.
docker run --name=bindr -p 53:53/udp -v /opt/bind:/data -e MANAGER="<manager-ip>" -d inventame/swarm-bindr
###Using register and unregister options
Aditionaly you can register SVR records, to can do this you have to expose the 5000 port.
docker run --name=bindr -p 53:53/udp -p 5000:5000 -v /opt/bind:/data -e MANAGER="<manager-ip>" -d inventame/swarm-bindr
Then you will be able to register new records.
curl --data "accessKey=<key>" http://localhost:5000/register/<name-of-service>/<ip-address>
curl --data "accessKey=<key>" http://localhost:5000/unregister/<name-of-service>
You can get the accessKey looking into the logs or sending as a parameter.
docker run --name=bindr -p 53:53/udp -p 5000:5000 -v /opt/bind:/data -e MANAGER="<manager-ip>" -e KEY="<key>" -d inventame/swarm-bindr
#How it works
Swarm-bindr have to be installed in a docker swarm manager machine, what it does is listen the events into the docker engine to create new listeners every time a swarm manager been created. It means than is capable to listen more than one cluster.