Skip to main content

Deploying a Service on an Overlay Network

Hands-On Lab

 

Photo of Will Boyd

Will Boyd

DevOps Team Lead in Content

Length

00:30:00

Difficulty

Intermediate

Bridge networks are a powerful tool for controlling communication between containers on a single host, but what if you need to provide isolated networking between containers in Docker Swarm? With Docker Swarm, you can use custom overlay networks to allow groups of containers to communicate transparently, even if they are running on different swarm nodes. In this lab, you will have the opportunity to work with overlay networks. You will set up a custom overlay network and deploy three different services that communicate with each other using this network.

What are Hands-On Labs?

Hands-On Labs are scenario-based learning environments where learners can practice without consequences. Don't compromise a system or waste money on expensive downloads. Practice real-world skills without the real-world risk, no assembly required.

Deploying a Service on an Overlay Network

Introduction

Bridge networks are a powerful tool for controlling communication between containers on a single host, but what if you need to provide isolated networking between containers in Docker Swarm? With Docker Swarm, you can use custom overlay networks to allow groups of containers to communicate transparently, even if they are running on different swarm nodes.

In this lab, you will have the opportunity to work with overlay networks. You will set up a custom overlay network and deploy three different services that communicate with each other using this network.

Solution

  1. Begin by logging in to the lab server using the credentials provided on the hands-on lab page:

    ssh cloud_user@PUBLIC_IP_ADDRESS

Create the Overlay Network

  1. Create the prices-overlay-net overlay network.

    docker network create --driver overlay prices-overlay-net

Create the base-price Service

  1. Create the base-price service.

    docker service create --name base-price --network prices-overlay-net --replicas 3 linuxacademycontent/prices-base-price:1

Create the sales Service

  1. Create the sales service.

    docker service create --name sales --network prices-overlay-net --replicas 3 linuxacademycontent/prices-sales:1

Create the total-price Service

  1. Create the total-price service.

    docker service create --name total-price --network prices-overlay-net --replicas 2 -p 8080:80 linuxacademycontent/prices-total-price:1
  2. Verify that you get the total price data.

    curl localhost:8080

    You should see a list of products and the total price for each. These prices are calculated by communicating with the base-price and sales services using the custom overlay network.

Conclusion

Congratulations — you've completed this hands-on lab!