Docker swarm communication error fix: Storage Driver update

After adding a new worker node to a swarm, it had issues communicating with other services/containers on the overlay network — this worked fine when adding previous nodes (both manager and worker). It turned out that this newest node was installed with a new image that defaulted the storage driver to overlay2 where the previously installed nodes were using aufs. All the nodes are 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