Portainer
The web UI for Docker, Docker Swarm, and Kubernetes.
Portainer is a lightweight web UI for managing Docker containers, Docker Swarm clusters, and Kubernetes namespaces. It gives developers and ops teams a polished GUI for inspecting running containers, viewing logs, managing volumes and networks, deploying stacks — without needing to memorize docker / kubectl commands.
Deploy with Pier
- 1 Open the Pier dashboard and click Add service.
- 2 Pick Portainer from the template list.
- 3 Choose the version, set a service name, and Pier provisions the container, storage, and ports automatically.
- 4 Attach a domain if you want HTTPS. Traefik auto-provisions the Let's Encrypt certificate.
What is Portainer?
Portainer is the world’s most popular web UI for Docker, Docker Swarm, and Kubernetes. Started in 2016 as a side project to give the Docker CLI a friendly face, it’s grown into a polished, production-ready GUI used by hundreds of thousands of teams to manage container deployments without memorizing every docker/kubectl flag.
It connects to the local Docker socket (or remote Docker / Swarm / K8s endpoints) and gives you a clickable view of containers, images, volumes, networks, builds, stacks, deployments. You can stop a misbehaving container, exec a shell into it, tail its logs, or redeploy a whole Docker Compose stack — all from the browser.
How Pier deploys it
Pier uses the official portainer/portainer-ce Docker image (Community
Edition). The container mounts /var/run/docker.sock from the host (so
Portainer can see and manage all containers on the same Docker engine)
and /data as a persistent volume for its database and config.
Default ports are 9000/tcp (HTTP UI) and 9443/tcp (built-in HTTPS). Through Pier, attach a domain — Traefik handles HTTPS termination on a clean URL and proxies to the internal 9000.
First login: the very first visit to the UI prompts you to create the
admin user. After that, login is at /.
When NOT to use Portainer
Pier itself covers most of Portainer’s day-to-day use cases (service templates, HTTPS, backups, logs, env management). Use Portainer alongside Pier when you want lower-level Docker access — inspect arbitrary containers Pier didn’t create, manage Swarm services, debug network interfaces, attach to logs of system containers. If your use case fits fully inside Pier’s managed templates, you might not need Portainer at all.
Key features
Full Docker UI
View running containers, start/stop/restart, exec into them, view real-time logs, browse images, networks, volumes, builds. Anything you'd do from `docker` CLI.
Docker Compose / Stacks
Deploy multi-container apps from Docker Compose files via the UI. Edit YAML in the browser; redeploy with one click. Webhook support for CI auto-deploys.
Multi-environment dashboard
One Portainer instance manages many Docker hosts, Swarm clusters, and Kubernetes namespaces. Group endpoints by tag; switch between them with a dropdown.
User access & RBAC
Built-in users + teams + roles. Restrict access per environment, per resource type, per endpoint. LDAP, OAuth (Google, GitHub, GitLab, Azure AD), and OpenID Connect supported.
App templates
One-click deployments from a catalog of pre-defined templates. Add your own templates JSON for org-internal deployments.
Edge Compute support
Manage remote Docker hosts that initiate the connection (NAT, firewall friendly). Useful for IoT fleet deployments or DMZ servers.
Use cases
Developer self-service
Give devs a UI to start/stop their own staging containers without giving them sudo on the host. Restrict via RBAC.
Multi-host Docker fleet management
One Portainer manages your dev, staging, and prod Docker hosts. Tag endpoints by environment; deploy stacks once, target multiple hosts.
Kubernetes lite UI
For small/medium K8s clusters, Portainer's UI is simpler than Lens or k9s. Deploy from manifests or Helm charts via the UI.
Customer-facing app UI
Some MSPs use Portainer's UI (white-labelled in Business Edition) as the app deployment surface for customers — a "PaaS lite."
Container troubleshooting
Inspect a running container's env, volumes, network attachments, logs, and exec a shell — all in one screen during incident response.
Code examples
curl -X POST \
-H "X-API-Key: $PORTAINER_API_KEY" \
-F 'Name=prod-docker' \
-F 'EndpointCreationType=1' \
-F 'URL=tcp://prod-docker:2376' \
-F 'TLS=true' \
-F '[email protected]' \
https://portainer.example.com/api/endpoints curl -X POST \
-H "X-API-Key: $PORTAINER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "myapp",
"stackFileContent": "version: \"3.8\"\nservices:\n web:\n image: nginx",
"swarmID": "abc123",
"fromAppTemplate": false
}' \
"https://portainer.example.com/api/stacks?type=1&method=string&endpointId=1" # CI pipeline (.github/workflows/deploy.yml)
- name: Trigger Portainer redeploy
run: |
curl -X POST $PORTAINER_REDEPLOY_WEBHOOK curl -X POST \
-H "X-API-Key: $PORTAINER_API_KEY" \
-d '{"AttachStdin":true,"AttachStdout":true,"Cmd":["sh"],"Tty":true}' \
https://portainer.example.com/api/endpoints/1/docker/containers/<id>/exec How it compares
| vs Docker CLI / docker-compose | CLI is the most powerful and scriptable but has a learning curve. Portainer is the UI version — slower for power users, faster for ad-hoc tasks and team members who don't live in the terminal. |
| vs Pier (this platform) | Pier is a higher-level PaaS — opinionated deployments, automatic SSL, backups, service templates. Portainer is a lower-level Docker UI — full Docker access, no built-in HTTPS or backups. Many users run both — Pier for managed services, Portainer for "I just need to look at this container." |
| vs Rancher | Rancher targets Kubernetes-at-scale. Portainer is simpler for Docker-first workflows. For pure K8s, Rancher or OpenLens are richer; for Docker + light K8s, Portainer wins on simplicity. |
| vs Yacht, Dockge | Lighter Docker UIs focused on Compose stacks. Portainer is heavier but covers Swarm, Kubernetes, RBAC, multi-host — things lighter alternatives skip. |
Frequently asked questions
CE or BE?
How does Portainer connect to Docker?
First-time setup?
Can I manage Kubernetes too?
Volume?
How do I back up?
Authentication / SSO?
Related services
Deploy on your VPS
Portainer is a lightweight web UI for managing Docker containers, Docker Swarm clusters, and Kubernetes namespaces. It gives developers and ops teams a polished GUI for inspecting running containers, viewing logs, managing volumes and networks, deploying stacks — without needing to memorize docker / kubectl commands.
Deploy this service →