- Lab
- A Cloud Guru
Building a Docker Swarm
Docker swarm allows you to quickly move beyond simply using Docker to run containers. With swarm, you can easily set up a cluster of Docker servers capable of providing useful orchestration features. This lab will allow you to become familiar with the process of setting up a simple swarm cluster on a set of servers. You will configure a swarm master and two worker nodes, forming a working swarm cluster.
Path Info
Table of Contents
-
Challenge
Install Docker CE on all three nodes.
- On all three servers, install Docker CE.
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce=5:18.09.5~3-0~ubuntu-bionic docker-ce-cli=5:18.09.5~3-0~ubuntu-bionic containerd.io
- Add cloud_user to the Docker group so that you can run docker commands as cloud_user.
sudo usermod -a -G docker cloud_user
Log out each server, then log back in.
- You can verify the installation on each server like so:
docker version
-
Challenge
Configure the swarm manager.
- On the swarm manager server, initialize the swarm. Be sure to replace
<swarm manager private IP>
in this command with the actual Private IP of the swarm manager (NOT the public IP).
docker swarm init --advertise-addr <swarm manager private IP>
- On the swarm manager server, initialize the swarm. Be sure to replace
-
Challenge
Join the worker nodes to the cluster.
- On the swarm manager, get a join command with a token:
docker swarm join-token worker
This should provide a command that begins
docker swarm join ...
. Copy that command and run it on both worker servers.NOTE: If you have any trouble, on the swarm manager try:
docker swarm leave --force
and thendocker swarm init --advertise-addr [privater ip of the swarm manager]
After that, run the provided command to join the workers to the swarm.- Go back to the swarm manager and list the nodes.
docker node ls
Verify that you can see all three servers listed (including the manager). All three should have a status of
READY
. Once all three servers are ready, you have built your own Docker swarm cluster!
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.