Portainer - A User Interface for Managing Docker

Portainer is a user interface for managing Docker standalone, docker-compose, or Docker Swarm deployments. This simple and intuitive Dashboard allows for managing all aspects of Docker and the supporting infrastructure.

Episode Transcription

Welcome back to the byte. In this episode, we are going to talk about Portainer. Portainer is a user interface for Docker Standalone, Docker Compose, or Docker Swarm. It now runs on Windows 1803 and above, or Linux. So essentially, you can manage Linux workloads, or Windows containers, which is a new feature. This is extremely helpful. We use it for a couple of our projects. I use it also privately for a few of my Swarms that I am running, and it works incredibly well. Very stable has all the features I'm looking for. Let's walk through the different features.

Now, to get up and running, it's one Docker run command which launches the dashboard, and the templates, and the manager. Now, every node you want to manage in your Swarm, you have to deploy an agent. It's basically a service task that runs, and you register it back into the dashboard, and then you have visibility of what's going on. Now, in the dashboard, you can actually see Stacks, Services, Volumes, Networks. It's essentially everything we're really interested in when we're managing a Swarm cluster.

We can also look at ... We have application templates, and here we have an application. We can say, for example, "Is it a container template? Is it a Swarm stack? Is it a composed stack?" And we can use existing applications, or we can actually create our own stacks, and make it available for our users, which is quite helpful. Think of it as a kickstart for your developers. You can make a Python, with an Nginx, and all the monitoring logging, and all best practices, already baked in. So all your developer has to do is stand it up. Very helpful.

You also have the Stacks. And Stacks allows us to manage a Swarm Stack, take control of it. We can update it, we can add more services, et cetera. It's very helpful. We can create and manage Stacks. It's very essential. Let me just going through the interface. You go "Add Stack". It has a web editor. You can actually copy and paste the code right in here, or you can upload YAML, or you can actually grab the YAML file from a Git repository. So, all very helpful ways to deploy a Stack.

We can also manage things like Services, Containers, Images, Networks, and Volumes. It really covers all the things we're really interested in. A couple of things I didn't write down was also configs, so we can actually look at the configurations, the secrets. So we can do secret management. And within the Swarm itself, I can actually see a cluster visualizer. And this actually comes from the open-source part of Docker. The Docker example of application app had the cluster visualizer, and that's actually incorporated in-house. So we can see per node, what's running in per node, containers, et cetera.

Now, what's quite interesting, and that's quite new, is the user management perspective. Previously, it was all local users. So local users and groups, and now they actually have local users or LDAPs. You can integrate it to your LDAP. And now, which is very new, is now external authentication, to like and OAuth integrator, which is really cool. So you can actually integrate directly with GitHub, GitLab, twitter, et cetera. Whatever your providers are.

Now, I find it's extremely easy to manage. I use it for my monitoring demos and etc, because I want to see what's going on. I want to see Images, I want to see Networks. And within Networks, for example, I can go in here, and I can manage Networks. In Services, I can scale Services up and down. And I can actually click on a Container, and I can see, I can stop it, I can kill it, restart it, add additional Containers, and then I can actually see within the Container configurations, I can add commands, entry points ... Everything in the command-line is also here. I can also change the Login driver, restart policies. It has all the features in the command-line, but just visually. So for teams that are not quite familiar with the command-line, or comfortable with the command-line, it's a great place to start because it allows you to understand exactly how are things working?

Additionally, it's great for operations teams, because they can see right away, from one user interface, one Swarm, multiple Swarms, how everything's running, and it's quite easy to manage. Like I said, give it a try. Portainer.io. I'm a big user, a fan of this operation. Their business model is on support, so they support how many endpoints, and endpoint like I mentioned before, is actually just an API that's exposed. It's how many APIs are exposed. That's how they're making money at the moment. So have a look. It's open-source. It's really well maintained. They're adding features all the time, and it's a great service. Portainer.io. We'll see you next time. Have a great day.
© 2020 TheByte