Docker swarm errors: check storage driver

After adding a new worker node to a swarm, it had errors including problems communicating with other services/containers on the overlay network (previously added nodes, both manager and worker, worked fine). It turned out that this newest node used a new installer that defaulted the storage driver to overlay2 — where the previously installed nodes were using aufs. All nodes are running on Ubuntu 16.04.

You can check for support with the grep aufs /proc/filesystems command. If you don’t see any results, you may need to install sudo apt-get install linux-image-extra-`uname -r` (or other updates). If you do have aufs support and Docker defaults to overlay2, you can spec the storage driver in /etc/docker/daemon.json via:

{
  "storage-driver": "aufs"
}

and restart Docker (via systemctl restart docker.service or similar). Note that any images or containers created with the old storage driver will not be accessible to the new one so you should delete/prune/etc what you won’t need and stop & remove all running containers prior to restarting.

Leave a Reply