Portainer is a lightweight management UI for Docker. It runs as a container, and it can manage single Docker hosts and clusters running in swarm mode. It's an open source project hosted on GitHub in the portainer/portainer repository. Portainer is written in Go, so it's cross-platform, and you can run it as a Linux or a Windows container.
There are two parts to Portainer: You need to run an agent on each node and then run the management UI. All these run in containers, so you can use a Docker Compose file such as the one in the source code for this chapter under ch08-portainer. The Compose file defines a global service that is the Portainer agent, running in a container on each node in the swarm. Then there is the Portainer UI: ...