Portainer is a really nice web UI for Docker.
Portainer is a lightweight management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters). Portainer is meant to be as simple to deploy as it is to use. It consists of a single container that can run on any Docker engine (can be deployed as Linux container or a Windows native container, supports other platforms too). Portainer allows you to manage all your Docker resources (containers, images, volumes, networks and more) ! It is compatible with the standalone Docker engine and with Docker Swarm mode.
With support for compose/stacks it can now properly display Docker Compose based projects:
Display project stack containers:
Can open a web terminal into any container:
Can display logs with filtering:
$ docker volume create portainer_data $ docker run --name portainer -d -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --label='io.docksal.virtual-host=portainer.*' --label=io.docksal.virtual-port=9000 portainer/portainer -H unix:///var/run/docker.sock
The UI can be accessed at http://portainer.docksal.
When accessing for the first time, set the username and password.
Portainer understands Docker Composer projects/stacks, so it’s able to list Docksal projects and their containers. However, Portainer is not able to control them in the same way it can control its own stacks, as there are various extra steps that Docksal handles behind the scenes in that process.
Use cases that work well:
Use cases that may not work as expected:
While using Portainer to start/stop all containers in a stack is OK, it is not advised to remove project containers this way. Doing so will result in multiple leftovers on the Docker host and can eventually lead to issues.
$ docker rm -vf portainer $ docker volume rm -f portainer_data