Assign way more replicas than you have of memory on all nodes and watch the Swarm crash which can easily reproduce in a small VMfor testing.
root@Deb11Docker01:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAM........
The error below can be caused by a gateway that is unpingable:
docker swarm join --token SWMTKN-1-1kogg8da68gtb1j7ezaddowyy9s0an5s9tue758o20k18liskw-5h3f61hrrmv3u6agshvbtcklf 172.16.1.80:2377
Error response from daemon: manager stopped: can't initialize raft node: rpc error: code = Unknown desc = could not connect to prospective new cluster member using its advertised address: rpc error: code = DeadlineExceeded desc = context deadline exceeded........
Nov 15 17:00:49 rttbox kernel: overlayfs: filesystem on '/var/lib/docker/overlay2/check-overlayfs-support450709549/upper' not supported as upperdir
Nov 15 17:00:49 rttbox dockerd[93755]: failed to start daemon: error initializing graphdriver: driver not supported
The above error is often/normally caused because you are trying to run docker out of an unsuitable directory/filesystem. For example if you try to place docker's data inside an existing overl........
If you have swarm services and dockerd is creating a high load even with the containers just being idle, the easiest solution is to upgrade to a newer docker version.
For example an identical config of 3 nodes, with Redis 5 with 30 replicas produces a load of about 1.45 in Debian 10 with Docker18.09.1
If I create the same setup on Debian 11, with Docker 20.10.5+dfsg1 then the CPU usage is low.
One other difference I wondered is the kernel. In my test setup........
We used a simple Debian 10 VM and showed the memory before starting docker and with no docker containers being started. The goal is to show much much memory dockerd actually uses.
Before docker was started
The VMwas using 58M of RAM.
After docker was started
it was using 99MB of RAM.
How much RAM does docker use?
It's not scientific but fair to say dockerd itself uses about 41MB of RAM (99-58).........