Table of Contents
Adding Nodes to the Swarm
Promoting Workers to Managers (and Vice Versa)
Removing Nodes from the Swarm
Checking Node Status and Health
Home Operation and Maintenance Docker How do you manage Docker Swarm nodes?

How do you manage Docker Swarm nodes?

Jun 27, 2025 am 12:03 AM
Node Management

Managing Docker Swarm nodes involves key steps: adding nodes using join tokens, promoting or demoting nodes with docker node promote/demote while maintaining quorum, removing nodes via docker node rm after draining tasks, and checking node status with docker node ls and docker node inspect. Always ensure an odd number of managers to avoid split-brain scenarios and maintain swarm stability.

Managing Docker Swarm nodes isn’t too complicated once you get the hang of it, but there are a few key things to keep in mind. The main idea is that you need to handle both manager and worker nodes properly to ensure your swarm stays stable and performs well.

Adding Nodes to the Swarm

To start managing nodes, you first need to add them to the swarm. When you initialize a swarm with docker swarm init, it sets up the first manager node and gives you a join token. You can use that token on other machines to join them as either workers or managers.

  • Run docker swarm join-token manager or docker swarm join-token worker to get the command for each role.
  • Copy and paste the output into the target node’s terminal to join the swarm.
  • Once joined, you can check all nodes with docker node ls.

It's important to keep track of which nodes are managers because they hold the control plane data and help maintain the desired state.

Promoting Workers to Managers (and Vice Versa)

Sometimes you might want to change a worker node into a manager — maybe for redundancy or maintenance reasons. To do this, use:

docker node promote <node-id>

You can also demote a manager back to a worker if needed:

docker node demote <node-id>

Be careful when changing roles — having too few managers can lead to quorum loss, especially in small swarms. Ideally, you should have an odd number of managers (like 3 or 5) to avoid split-brain scenarios.

Removing Nodes from the Swarm

If a node is no longer needed, you can remove it from the swarm. First, drain its tasks if it's a manager or worker:

docker node update --availability drain <node-id>

Then, remove it from the swarm:

docker node rm <node-id>

On the node itself, you can leave the swarm using:

docker swarm leave

Note: If you're removing a manager, make sure you still have enough remaining managers to maintain quorum. Otherwise, your swarm could become unmanageable.

Checking Node Status and Health

It's good practice to regularly check your nodes’ status and health. Use:

docker node ls

This shows the availability, role, and status of each node. If a node goes down or becomes unreachable, its status will reflect that.

You can also inspect individual nodes:

docker node inspect <node-id>

Look out for "Reachable" under manager nodes — if a manager isn't reachable, it might be isolated or having network issues.


Managing Docker Swarm nodes boils down to knowing how to add, promote/demote, remove, and monitor them. It’s not overly complex, but skipping steps or mismanaging roles can cause problems later on.

The above is the detailed content of How do you manage Docker Swarm nodes?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to get started with docker How to get started with docker Aug 16, 2025 pm 01:46 PM

Dockerisaplatformforpackaging,shipping,andrunningapplicationsinlightweight,isolatedcontainersthatsharethehostOSkernel,unlikevirtualmachines.2.InstallDockerDesktoponWindowsormacOS,orusethecurlcommandonLinux,thentestwithdocker--versionanddockerrunhello

How do you use Docker with AWS (Amazon Web Services)? How do you use Docker with AWS (Amazon Web Services)? Aug 03, 2025 pm 04:24 PM

TouseDockerwithAWSeffectively,startbysettingupyourDockerenvironmentonAWSusingEC2ormanagedserviceslikeECSorEKS;next,choosecontainerorchestrationoptionssuchasECSforscaleandintegrationorEKSforKubernetessupport;then,storeandmanageDockerimagesusingAmazonE

How to run multiple services with Docker Compose? How to run multiple services with Docker Compose? Aug 07, 2025 pm 03:26 PM

To run multiple services, you need to define the service in docker-compose.yml, communicate with the service name, and start with dockercomposeup. 1. Define web, db, redis and other services under the services of docker-compose.yml, and specify configurations such as build, image, ports, environment, volumes and depends_on; 2. DockerCompose automatically creates a shared network, and services can communicate through the service name (such as db:5432); 3. Run dockercomposeup--build to build and start all services.

How to run a command in a docker container How to run a command in a docker container Aug 20, 2025 am 05:09 AM

Use dockerrun to run commands in a new container, and use dockerexec to execute commands in a running container. The specific methods are: 1. Use dockerrun to start a new container and execute commands, such as dockerrun--rmubuntuls/tmp; 2. Use dockerexec to execute commands in a running container, such as dockerexecmy-nginx-servicepsaux, and interactive operations need to add -it, such as dockerexec-itmy-container/bin/bash; 3. Overwrite the default commands when starting the container, such as dockerrunnginx:latestnginx-T

How to inspect a docker container How to inspect a docker container Aug 17, 2025 pm 12:47 PM

dockerinspect is the main command to view container details. 1. Use dockerinspect to obtain the complete information of the container, including status, network, mount, environment variables, etc.; 2. Use the -f parameter to extract specific fields, such as IP address, running status, mirror name, mount volume and environment variables; 3. Use dockerlogs and dockertop to view container logs and processes to assist in diagnosis; 4. It is often used to troubleshoot the network, verify mounts, check health status and automated scripts. In combination with dockerps-a, you can find all containers. This command is the core tool for in-depth debugging and automated operations.

How to reduce docker image size How to reduce docker image size Aug 22, 2025 am 01:04 AM

Using smaller basic images, multi-stage construction and reasonable layering are the keys to reducing Docker images size. 1. Priority is given to lightweight basic images such as alpine, slim or distroless, which can greatly reduce the volume; 2. Adopt multi-stage construction to separate the construction dependency from the runtime, avoiding bringing source code, dependency packages and construction tools into the final image; 3. Merge RUN instructions and clean cache and temporary files in the same layer, such as using apt-getupdate and install and clean commands to execute in a chain, and use --no-install-recommends or apk--no-cache to reduce redundant packages; 4. Configure.dockeringore files,

How to write a dockerfile How to write a dockerfile Aug 23, 2025 am 03:46 AM

The key to writing a Dockerfile is to understand each instruction and its layer caching mechanism. 1. Use FROM to specify the basic image, and prefer lightweight and safe images such as node:18-alpine; 2. Use WORKDIR to set the working directory in the container to /app; 3. Use COPY to copy the file, it is recommended to copy package.json step by step to utilize the cache; 4. Use RUN to install dependencies and merge commands to reduce layers, such as RUNapt-getupdate&&apt-getinstall-ycurl&&rm-rf/var/lib/apt/lists/*; 5. Use CMD to set the default startup command

How to run a command as root in a docker container How to run a command as root in a docker container Aug 17, 2025 am 03:59 AM

Bydefault,Dockercontainersrunasroot,whichcanbeverifiedusingwhoamioridcommands.2.Torunacommandasrootinanewcontainer,usedockerrunwithofficialimagesthatdefaulttoroot,orexplicitlyspecify-uroottooverrideanynon-rootusersettings.3.Forarunningcontainer,usedo

See all articles