Thursday, 14 February 2019

Docker 'Round Robin' DNS Demo

# DNS 'Round Robin' Demo 

# Create Network 'searchnetwork'
docker network create searchnetwork


# Names not really needed since we setting net-alias to the common DNS entry 'mysearchengine'
# We're using container names just to reference for stopping and starting.

docker container run --name searchserv1 --detach --network searchnetwork --net-alias mysearchengine elasticsearch:2

docker container run --name searchserv2 --detach --network searchnetwork --net-alias mysearchengine elasticsearch:2

docker container ls
docker container run --rm --network searchnetwork alpine nslookup mysearchengine

# Now test DNS 'Round Robin' by repeated search calls with the 'net-alias' , 'mysearchengine'
# Elasticserv gives its own names (under the 'name' tag) to each unique service found.

docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200

# Stop one of the servers for the next test
docker container stop searchserv1
docker container run --rm --network searchnetwork alpine nslookup mysearchengine

# Now notice only one search service (searchserv2) is being 'resolved' 
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200
docker container run --rm --network searchnetwork centos curl -s mysearchengine:9200

No comments:

Post a Comment