Deploying and managing applications is a foundational feature and core strength of Portainer. Included are a raft of intelligence and validation rules that ensure that every deployment occurs in a manner that has "sane defaults" which is simply to say, is safe and secure.
The Portainer interface also allows users to make changes to applications that are running, including adjusting elements such as image name, environment variables, persistent volumes, networking etc. Any changes trigger an automatic redeployment of the application with the new settings.
Portainer incorporates a powerful “click-to-deploy” application template feature, which allows administrators to publish a catalogue of applications from which users can deploy apps with a single click. In addition, there is a “custom templates” feature, which allows users to create templates of running applications for later reuse.
Portainer provides a unique container-edit feature, which automates the process of recording running settings. It deploys a new container with the existing settings and then deletes the old container once the new one is up and running.
Portainer provides a single-click option to “stop” a stack, which is the equivalent of a “compose down” but for Swarm stacks. When this feature is used, all services related to a stack are de-scheduled, however the stack file remains available in Portainer to be started again.
Portainer can be interfaced with different CI/CD toolsets via its API, which allows CI/CD tools to deploy applications through Portainer whilst still retaining access to its identity management tool set. In addition, Portainer provides webhooks to automate the redeploy/update of Docker Services, allowing tasks to be triggered from CI/CD tools on successful build of a new Docker image. Portainer supports an integration into Github, enabling the deployment of Swarm Stacks/ Kubernetes Manifests from a Github Repo.
With visual access to an application’s logs and its associated components Portainer is the perfect troubleshooting companion. Where an application containers multiple parts, logs are interwoven so a single timeline of events can be visualized. Portainer provides instant access to the console of running containers/pods, allowing interactive troubleshooting.
Portainer also provides the ability to visualize the real-time performance of a running application so resource demands can be easily seen, to aid with troubleshooting.