Docker Swarm
Estimated reading: 4 minutes 213 views

Managing Manager and Nodes with Docker Swarm: A Beginner’s Guide

Introduction – Why Learn to Manage Nodes in Docker Swarm?

Docker Swarm simplifies container orchestration across clusters of machines. Whether you’re running services on a local server or deploying them across distributed systems, understanding how to manage manager and worker nodes is key.

In a Swarm cluster:

  • Manager nodes orchestrate and control the entire cluster.
  • Worker nodes execute the application tasks.

In this guide, you’ll learn:

  • The difference between manager and worker nodes
  • How to add, promote, or remove nodes in a swarm
  • Best practices for cluster management and scaling

Understanding Docker Swarm Nodes

A Docker Swarm consists of two types of nodes:

Manager Nodes

  • Maintain cluster state
  • Make scheduling decisions
  • Handle scaling and orchestration

Worker Nodes

  • Run containers based on manager instructions
  • Do not participate in orchestration logic

Docker Swarm Node Structure:

+---------------------------+             +---------------------------+
|     Manager Node 1        |<-- Controls -->|     Worker Node 1         |
+---------------------------+             +---------------------------+
          |                                          |
+---------------------------+             +---------------------------+
|     Manager Node 2        |<-- Controls -->|     Worker Node 2         |
+---------------------------+             +---------------------------+

Managing Manager Nodes

1. Initialize the Swarm

Use the following command on your primary node:

docker swarm init

This:

  • Starts the swarm mode
  • Designates the current machine as the first manager

2. Add More Manager Nodes

To increase high availability, add more manager nodes:

docker swarm join --token <MANAGER_JOIN_TOKEN> <MANAGER_IP>:2377

Always use odd numbers (1, 3, 5) for manager nodes to avoid split-brain issues in Raft consensus.


3. Promote and Demote Nodes

Promote a Worker to Manager:

docker node promote <NODE_NAME>

Demote a Manager to Worker:

docker node demote <NODE_NAME>

Symbol for Manager Node Promotion/Demotion:

+---------------------------+       +---------------------------+
|     Worker Node A         | <---> |     Manager Node A        |
+---------------------------+       +---------------------------+

Managing Worker Nodes

1. Add Worker Nodes

On the target machine, use:

docker swarm join --token <WORKER_JOIN_TOKEN> <MANAGER_IP>:2377

This registers the node as a worker that receives tasks from the manager.


2. Inspect Nodes

Run this command to check swarm status:

docker node ls

It shows:

  • Role: Manager/Worker
  • Status: Ready/Active/Down
  • Node hostname and ID

3. Monitor Individual Nodes

Inspect specific nodes for resource usage or status:

docker node inspect <NODE_NAME>

Best Practices for Node Management in Docker Swarm

Ensure High Availability

  • Use at least 3 manager nodes in production
  • Spread managers across different zones or hosts

Secure Communication

  • Docker Swarm uses TLS by default
  • Store sensitive data in Docker Secrets

Monitor Regularly

  • Use docker node inspect, logs, and external tools like Prometheus, Grafana, or Datadog

Label Nodes

  • Helps with task placement using constraints
  • Example: docker node update --label-add type=worker node-1

Balance Workloads

  • Spread replicas across workers
  • Use health checks and update strategies to avoid downtime

Summary – Recap & Next Steps

Managing manager and nodes with Docker Swarm is vital to building a resilient, scalable, and fault-tolerant container environment. Managers orchestrate while workers execute, and together, they maintain a reliable system.

Key Takeaways:

  • Manager nodes handle orchestration; worker nodes run services
  • Use docker swarm join, promote, and demote for role changes
  • Regularly monitor node health and status with built-in tools
  • Follow best practices for scaling, availability, and security

Real-world relevance: With just a few commands, you can turn ordinary Docker hosts into a highly available container infrastructure ready for production.


Frequently Asked Questions (FAQ)

What is the role of manager nodes in Docker Swarm?

Manager nodes maintain the cluster state, perform scheduling, and manage scaling and updates across the swarm.


Can I run a swarm with a single manager?

Yes, for testing purposes.
But in production, use at least 3 manager nodes for redundancy and fault tolerance.


How do I promote a worker to a manager?

Use:

docker node promote <NODE_NAME>

How do I check if a node is active in the swarm?

Run:

docker node ls

This shows status, role, and availability of each node.


Can I switch a manager back to worker?

Yes. Use:

docker node demote <NODE_NAME>

Why use an odd number of manager nodes?

Odd numbers prevent split-brain situations and ensure a quorum for consensus in cluster decisions.


Share Now :
Share

Managing Manager and Nodes with Docker Swarm

Or Copy Link

CONTENTS
Scroll to Top